Я установил автозаполнение jquery, которое изменяет источник данных в зависимости от ввода в текстовое поле.
После изменения источника данных в jquery он не срабатывает, пока не будет нажата кнопка со стрелкой вверх или вниз.
Я использовал firebug для проверки источника данных и не нашел в нем ничего плохого.
Может ли кто-нибудь показать мне, как отправить клавишу со стрелкой вверх или вниз к элементу управления или решить эту проблему каким-либо другим способом?
Большое спасибо!
изменить: я заменил это на JSON, как показано ниже, но кажется, что запрос приходит в окно предупреждения об ошибке
jQuery (function () {jQuery ("input # autocomplete"). autocomplete ({contentType: 'application / json; charset = utf-8', dataType: 'json', mustMatch: false, limit: 10, minChars: 2,
select: function (event, ui) { AutoCompleteSelectHandler(event, ui) } , source: function (request, response) { jQuery.ajax({ url: "http://localhost/integration/webservices/PostcodeJSON.asmx/GetPostCodeListJSONfromSuburb", data: {}, dataType: "json", type: "POST", contentType: "application/json; charset=utf-8", dataFilter: function (data) { return data; }, success: function (data) { alert(data); }, error: function (XMLHttpRequest, textStatus,
errorThrown) {предупреждение (textStatus); }}); }});
});
есть это поле ввода html.
Что я здесь сделал не так? Я подтвердил, что веб-служба работает правильно.
edit2: Я внес следующие изменения:
jQuery (function () {jQuery ("input # autocomplete"). autocomplete ({
minChars: 2, select: function (event, ui) { AutoCompleteSelectHandler(event, ui) } , source: function (request, response) { jQuery.ajax({ url: "http://localhost/integration/webservices/PostcodeJSON.asmx/GetPostCodeListJSONfromSuburb", data: '{ Suburb: "' +
jQuery ("# autocomplete"). val () + '"}', dataType:" json ", тип:" POST ", contentType:" application / json; charset = utf-8 ", dataFilter: function (data) {return data.d;}, success: function (data) {alert (data.d);}, error: function (XMLHttpRequest, textStatus, errorThrown) {alert ( textStatus);}});}});
});
так что оповещение работает нормально. Но jquery не показывает совпадающий список. Как мне это сделать?
РЕДАКТИРОВАТЬ 2:
Мне удалось решить проблему с веб-сервисом. Как настроить ответ, чтобы автозаполнение отображало список соответствующим образом? На данный момент каждый пункт в списке показывает мне полный список пунктов.
т.е.) если я наберу «ab», и если есть 3 совпадения, то он покажет мне один и тот же результат 3 раза в 3 разных строках.
У меня есть настройка jquery, как показано ниже:
jQuery (function () {jQuery ("input # autocomplete"). autocomplete ({
minChars: 2,
select: function (event, ui) {
AutoCompleteSelectHandler(event, ui)
}
,
source: function (request, response) {
jQuery.ajax({
url: "http://localhost/integration/webservices/PostcodeJSON.asmx/GetPostCodeListJSONfromSuburb",
data: '{ Suburb: "' + jQuery("#autocomplete").val() + '" }',
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data.d, function (item) {
return {
value: data.d
}
}))
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
}
});
Любая помощь будет принята с благодарностью, большое спасибо!
After datasource on the jquery changes, it doesn't fire until press up or down arrow button
. Что такоеdatasource on jquery
? Что заставляет его измениться? Чтоit
не срабатывает? Без совместного использования кода помочь вам так же невозможно, как помочь тому, кто говорит, что я использую автозаполнение, но оно не работает, пожалуйста, помогите. - person davin   schedule 23.06.2011