Javascript jQuery加载函数后,jQuery UI自动完成不起作用
我正在尝试使用jQuery UI自动完成函数,在我用jQuery load()函数替换数据之前,它工作得非常好。在这之后,一切都不起作用了——这里是完全的寂静 我的html代码如下所示:Javascript jQuery加载函数后,jQuery UI自动完成不起作用,javascript,jquery,jquery-ui,autocomplete,Javascript,Jquery,Jquery Ui,Autocomplete,我正在尝试使用jQuery UI自动完成函数,在我用jQuery load()函数替换数据之前,它工作得非常好。在这之后,一切都不起作用了——这里是完全的寂静 我的html代码如下所示: <div class="ui-widget"> <label for="search">Search: </label> <input id="search"> </div> } load()成功返回后,我调用en
<div class="ui-widget">
<label for="search">Search: </label>
<input id="search">
</div>
}
load()成功返回后,我调用enableautocomlete()再次将autocomplete事件与所选元素绑定。我在这个论坛的某个地方读到,我应该这样做。但从这一次起,一切都没有发生。键入后不会调用自动完成。我在控制台中调试了它,并在时间轴(Chrome开发工具)中记录了所有内容,正如我所说的,完全没有声音。
有人知道为什么吗???你能试试这个吗
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();
然后在开发人员控制台上发布您得到了什么?您能展示更多的代码吗?比如什么时候调用enableAutocomplete?您好,谢谢您的回复:)我调用enableAutocomplete()两次:一次在$(function(){})中,第二次在load()函数的成功部分。请问“/Controller/search”做什么?尝试修复并向我们展示问题所在。好吧,这就是对服务器端操作的调用。它只返回稍后显示的JSON格式的数据。这部分很好用。问题在于前端:为什么从未调用$.getJSON。为什么只有在我首先调用load()函数之后才会发生这种情况。您好,我尝试过这样做,下面是控制台中显示的内容:加载()之前:enableautomlete调用的函数。js:134 autocomplete.source方法调用的函数。js:150调试服务器响应函数。js:518[Object]函数。js:518和加载()之后:enableautomlete调用的函数。因此,同样-从未调用源方法:/I我对上面的代码做了一些小修改。1) 当您键入至少2个字符时,将调用source方法,此时您可以检查网络控制台以查看调用的内容。2) 您是否在服务器端处理“术语”?3) 是否返回JSON对象?4) 你能告诉我你在网络控制台上得到了什么吗?
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();