Значения строки базы данных units
для значений салам & салават : [эти значения вставлены json_encode()
]
салам:
[{"name_units": "salam", "price_units": "74,554", "checkbox_units": ["мини-бар", "дворянин"]}, {"name_units": "mokhles", "price_units":"4,851,269", "checkbox_units": [ "mobleman", "TV"]}, { "name_units": "fadat", "price_units": "85,642", "checkbox_units": [ "Мини-бар", "mobleman",»tv "]}]
салават:
[{" name_units ":" chaker "," price_units ":" 5,452 "," checkbox_units ": null},{"name_units": "khobe", "price_units": "5,452,545", "checkbox_units": ["мини-бар", "mobleman"]}]
В этом примере выполните следующие работы:
ПРИМЕР: DEMO1 - здесь работает мой код & DEMO2-здесь только для показа всех кодов
Первый .Пожалуйста, введите значение: Сала во входных данных => это имеет "буксировочный" результат, пожалуйста, нажмите на каждый из результатов: Салам или Салават -> Вы видите, чтополучить пять выходных данных после нажатия => Салам & Мохлес & Фадат | chaker & khobe (В случае, если должно быть три значения, так как мы нажали на слово salam => salam & mokhles & fadat )
секунда .пожалуйста, вставьте значение: salam => это имеет один результат, пожалуйста, нажмите на результат ( salam ) -> вы видите, что получите "три" вывод после нажатия => salam & mokhles & fadat
Я хочу в любом случае, что это результат поиска "пять" или "три" значения или "И т.д.", получить значения name_units
связано со словом, которое является щелчком.
$('.auto_complete').keyup(function () {
var dataObj = $(this).closest('form').serialize();
$.ajax({
type: "POST",
dataType: 'json',
//url: 'http://binboy.gigfa.com/admin/tour_foreign/auto_complete',
url: 'auto_complete',
data: dataObj,
cache: false,
success: function (data) {
var id_name = $('.list_autobox_hotel').attr('id');
$('.list_autobox_hotel').show().html('');
if (data == 0) {
$('.list_autobox_hotel').show().html('<p><b>there is no</b></p>');
} else {
$.each(data, function (index, value) {
$('<p id="' + value.name + '">' + value.name + '</p>').appendTo('.list_autobox_hotel');
});
//////////////////////*HERE//////////////////////
$('.list_autobox_hotel p').click(function (e) {
e.preventDefault();
var ac = $(this).attr('id');
$.each(data, function (index, value) {
$.each(value.units, function (bu, key) {
alert(key.name_units);
});
});
$(this).remove();
return false;
});
//////////////////////HERE*//////////////////////
$('body').click(function () {
$(".list_autobox_hotel p").hide().remove();
$('.auto_complete').val('');
$('.list_autobox_hotel').show().html('');
$('.list_autobox_hotel').css('display', 'none');
});
}
},
"error": function (x, y, z) {
// callback to run if an error occurs
alert("An error has occured:\n" + x + "\n" + y + "\n" + z);
}
});
});
ОБНОВЛЕНИЕ:
для корзины, я сделал это как: (но это не работает, и до сих порта же проблема)
$('.list_autobox_hotel p').bind("click", function (e) {
e.preventDefault();
var ac = $(this).attr('id');
$.each(data, function (index, value) {
$.each(value.units, function (bu, key) {
alert(key.name_units);
});
});
$(this).remove();
return false;
});
я не понимаю "filter the data depending on what item you click on"
и не знаю как это!?
ОБНОВЛЕНИЕ 2
Неужели это правда??(но это не работает, и есть предупреждение: undefined
)
$('.list_autobox_hotel p').bind("click", function (e) {
e.preventDefault();
var ac = $(this).attr('id');
var ok = $.grep(data, function (e) {
return e.name == ac;
}).units;
alert(ok);
$(this).remove();
return false;
});