jQuery加载功能后,jQuery UI自动完成功能无效

时间:2013-12-08 20:10:36

标签: javascript jquery jquery-ui autocomplete

我正在尝试使用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开发工具),就像我说的那样 - 完全沉默。 有没有人知道,为什么?

1 个答案:

答案 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上得到了什么?