Я пытаюсь использовать функцию автозаполнения jQuery UI, и он отлично работает, пока я не заменил данные функцией jQuery load(). После этого ничего не работает - есть полная тишина.
Мой html-код выглядит так:
<div class="ui-widget">
<label for="search">Search: </label>
<input id="search">
</div>
И мой код js:
function enableAutocomplete(){
$( "#search" ).autocomplete({
source: function( request, response ) {
$.getJSON( "/Controller/search", {
term: request.term
}, response );
},
minLength: 2,
select: function( event, ui ) {
(...something going on here, doesn't matter...)
}
});
}
}
После того, как load() вернется успешно, я вызываю enableAutocomplete(), чтобы связать еще раз событие автозаполнения с моим выбранным элементом. Я где-то читал на этом форуме, что я должен это сделать. Но с тех пор ничего не происходит. Автозаполнение никогда не вызывается после ввода. Я отлаживал его на консоли и записывал все на временной шкале (инструменты Chrome dev), и, как я уже сказал, полная тишина. Кто-нибудь знает, почему?
Не могли бы вы попробовать
function _debugResponse(respData,txt,xhr){console.log('Debug server response'); console.log(respData);}
function enableAutocomplete() {
console.log('enableAutocomplete called');
$("#search").autocomplete({
source: function (request, response) {
console.log('autocomplete.source method called');
$.getJSON("/Controller/search", { term: request.term }, _debugResponse );
},
minLength: 2,
select: function (event, ui) { console.log(event) }
});
}
enableAutocomplete();
и опубликуйте, что вы получаете на dev-консоли?