Добрый день. У меня следующий вопрос: есть поле input с jquery autocomplete. Ниже - код обработки этого поля. Переменная country-idизвестна заранее.
$("#city-id").autocomplete({
source: function (request, response) {
$.ajax({
url: "get-countries-cities.php",
data: {
"country-id": countryId,
q: request.term
},
dataType: "json",
success: function(data) {
response($.map(data, function (rt) {
return {
title: rt.cities.title,
id: rt.cities.id
};
}));
},
error: function () {
response([]);
},
select: function (event, ui) {
alert("Название города: " + ui.item.title + "id города: " + ui.item.id);
}
});
}
});
С сервера приходит ответ в виде:
{
"type":"success",
"cities":[
{
"title":"Ишеевка, Пензенская область",
"id":1068880
},
{
"title":"Ишеевка, Ульяновская область",
"id":1112050
}
]
}
Далее я хочу, чтобы в поле input по нажатию оказалось название города (title), а в скрытом поле установилось значение id города (сейчас это дело эмулирует alert).
Беда в том, что я никак не могу "достучаться" до нужных мне элементов JSONа.. Что-то неверно здесь, полагаю.
return {
title: rt.cities.title,
id: rt.cities.id
};
P.S. В JS я вообще ноль. Но пришлось связаться. От количества {} и ({}) голова болит..
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости