我正在尝试使用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()再次将autocomplete事件与我选择的元素绑定。我在这个论坛的某个地方读过,我应该这样做。但从那时起,没有任何事情发生。键入后永远不会调用自动完成功能。我在控制台中调试它并记录时间线中的所有内容(Chrome开发工具),就像我说的那样 - 完全沉默。 有没有人知道,为什么?
答案 0 :(得分:0)
你能试试吗
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-console上得到了什么?