Как отобразить виджеты автозаполнения интерфейса Jquery с помощью метода autocomplete ()? - PullRequest
0 голосов
/ 29 апреля 2011

Я надеюсь, что кто-то может помочь с этим,
Мне очень трудно заставить автозаполнение jQueryUI работать с $. Ajax ({}) в приложении asp.net. .
Я могу заставить его сделать вызов ajax, я получаю ответ от службы и список мест.
, но список автозаполнения не отображается, когда я нажимаю клавишу со стрелкой вниз, на странице отображается список местоположений.
Он должен отображаться / отображаться сразу после получения списка мест из веб-метода. Как это могло быть возможно?

Я использую автозаполнение с сайта jquery: http://jqueryui.com/demos/autocomplete/

Пример кода

function GetCitiesLikeList(objcity) {    
var cities = "";
        $.ajax({
            type: "POST",
            url: http://localhost/testweb/location.asmx/Getlocations,
            data: "{ City : '" + objcity + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                if (msg.d != null && msg.d != "") {
                    cities = "";
                    cities = msg.d;
                    $("#citilist").autocomplete({
                        source: cities
                    });
                }
                else
                    $("#citilist").attr("autocomplete", "off")
            },
            error: function (xhr, ajaxOptions, thrownError) { return false; }
        }); 
}

Ответы [ 3 ]

1 голос
/ 29 апреля 2011

Чтобы отобразить список, просто позвоните $('#citilist').trigger("keydown");. Это заставит вас думать, что вы печатаете на входе в citilist, и вызовет сообщение ajax.

1 голос
/ 10 февраля 2012

Я нашел другой способ вызвать функцию автозаполнения пользовательского интерфейса jQuery, не вводя в поле:

$('#field').autocomplete({
    source: '/path/to/data',
    minLength: 0
});
$('#button').click(function() {
    $('#field').autocomplete('search', '')
});

Отправка аргумента 'search' запускает функцию поиска. Второй аргумент - это термин, отправляемый обработчику данных в /path/to/data.

.
0 голосов
/ 29 апреля 2011

Автозаполнение Jquery запускается только при нажатии клавиши. Вот что происходит с вами.Это функциональность, для которой он предназначен.Если вы хотите настроить это.Вы должны написать свою собственную логику.

...