JQuery Autocomplete выберите неопределенную ошибку - PullRequest
0 голосов
/ 14 сентября 2011

Я уже несколько часов рву свои волосы и не могу понять, почему у меня ошибка.

Когда я вызываю следующий код:

 $(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

Так что я не понимаю, почему это не определено.

Спасибо:)

1 Ответ

0 голосов
/ 14 сентября 2011

Из документации :

ui.item refers to the selected item.

Так что я думаю, что вы хотите ui.item.long вместо ui.long.

...