#jquery-ui #jquery-ui-autocomplete
#jquery-ui #jquery-ui-автозаполнение
Вопрос:
Я подключаю следующий метод к своей функции document.ready. Однако URL-адрес «myAutoCompleteURL.aspx» никогда не доступен (у меня есть точка останова на странице, и она никогда не попадает).
Кто-нибудь знает, почему это не работает? Я новичок в пользовательской версии автозаполнения; Ранее я использовал только устаревшую версию на основе 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;
}
});
}
Комментарии:
1. Не могли бы вы опубликовать ссылку на рабочую версию?
2. Работает ли этот
$.ajax()
вызов вне контекста автозаполнения? Попробуйте просто поместить его на страницу и передать фиксированные значения, чтобы посмотреть, работает ли это. Я полагаю, что вам может потребоваться использовать типapplication/json
данных , и вместо этого использовать строку JSON в кавычках для ваших данных, например.3. Я вижу, что мое приложение загружает этот URL вместо этого: «/FileNotFound.htm?aspxerrorpath=/script/jquery/indicator.gif «. Что такое indicator.gif ? Файл jquery? Кажется, я использую неправильную версию jqueryui.
Ответ №1:
Вы можете удалить ../ в своем URL-адресе. Раньше у меня была такая же проблема некоторое время назад.
Во-вторых, в вашем вызове ajax есть функция ошибки. Если он попадает в функцию ошибки, значит, в ваших данных есть какая-то проблема, и вам нужно это исправить.
Как @GregL упомянул в своем комментарии, что вы используете JSON, а не application / json 🙂
Ответ №2:
Используйте Firebug и посмотрите, какой URL-адрес попадает вместо этого. Если в консоли ничего не отображается, значит, код javascript вообще не работает.
Комментарии:
1. У меня возникла проблема в моем CSS-коде. Спасибо, что предложили Firebug.