Я уже несколько часов рву свои волосы и не могу понять, почему у меня ошибка.
Когда я вызываю следующий код:
$(document).ready(function () {
$("#searchBox").autocomplete({
select: function (event, ui) {
$("#searchBox").attr("readonly", true);
//this is where if i call alert(ui.long) I get undefiend
$("#CoorLong").val(ui.long);
$("CoorLat").val(ui.lat);
print_r(ui);
},
source: function (request, response) {
$.ajax({
url: "http://dev.virtualearth.net/REST/v1/Locations",
dataType: "jsonp",
data: {
key: "bingKey",
q: request.term
},
jsonp: "jsonp",
success: function (data) {
var result = data.resourceSets[0];
if (result) {
if (result.estimatedTotal > 0) {
response($.map(result.resources, function (item) {
return {
data: item,
label: item.name + '[' + item.point.coordinates[0] + ' ' + item.point.coordinates[1] + ']' + ' (' + item.address.countryRegion + ')',
value: item.name,
long: item.point.coordinates[0],
lat: item.point.coordinates[1]
}
}));
}
}
}
});
},
minLength: 1
});
});
Как я уже говорил в функции selec: (event, ui), когда я вызываю ui.item или ui.value или ui.long, я всегда получаю неопределенное значение
Я реализовал print_r () для проверки содержимого, и я получаю это:
[item] => объект
[имя] => Набережная Исси-ле-Мулино, 75015 Париж [точка] => объект
- [ тип] => точка
- [координаты] => объект
- [0] => 48,83618
- [1] => 2,26764
[address] => object
- [addressLine] => Quai d'Issy-les-Moulineaux
- [adminDistrict] => IdF
- [adminDistrict2] => Париж
- [countryRegion] => Франция
- [formattedAddress] => Quai d'Issy-les-Moulineaux, 75015 Париж
- [местность] => Париж
- [postalCode] => 75015
[доверие] => Средний [entityType] => RoadBlock [label] => Quai d'Issy-les-Moulineaux, 75015 Paris [48.83618 2.26764] (Франция) [value] => Quai d'Issy-les-Moulineaux, 75015 Paris [long] => 48,83618 [lat] => 2,26764
Так что я не понимаю, почему это не определено.
Спасибо:)