Почему это автозаполнение JqueryUI не попадет на его URL? - PullRequest
0 голосов
/ 03 ноября 2011

Я подключаю следующий метод к моей функции document.ready. Однако URL-адрес «myAutoCompleteURL.aspx» никогда не доступен (у меня есть точка останова на странице, и она никогда не используется).

Кто-нибудь знает, почему это не работает? Я новичок в пользовательской версии AutoComplete; Ранее я использовал только версию, основанную на jquery (не рекомендуется).

function myAutoComplete(myTextBox, myLabel, myHidden) {
    var myType = $(myLabel).html();

    $(myTextBox).autocomplete({
        source: function (request, response) {
            $.ajax({
                type: 'POST',
                dataType: 'json',
                url: "../myAutoCompleteURL.aspx",
                data: { q: request.term, type: myType },
                success: function (myData) {
                    response($.map(myData, function (myItem) {
                        return { label: myItem.name, value: myItem.name, id: myItem.id }
                    }));
                }
            });
        },
        select: function (event, ui) {
            $(myTextBox).val(ui.myItem.name);
            $(myHidden).val(ui.myItem.id);
            return false;
        }
    });
}

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Вы можете удалить ../ в вашем URL.Раньше у меня была такая же проблема.

Во-вторых, в вашем вызове ajax есть функция ошибки.Если он попадает в функцию ошибки, значит, в ваших данных есть какая-то проблема, и вам нужно ее исправить.

Как @GregL упомянул в своем комментарии, что вы используете JSON, а не application / json:)

0 голосов
/ 03 ноября 2011

Используйте Firebug и поищите, по какому URL обращаются.Если в консоли ничего не отображается, то код javascript вообще не работает.

...