jQuery .autosuggest保留了结果

时间:2011-01-24 14:06:27

标签: jquery asp.net ajax jquery-ui autocomplete

我的jquery自动完成插件会保留初始搜索的结果,并且不会将其替换为新搜索的结果。 我的ASP代码如下:

<body>
<form id="form1" runat="server">
  <asp:TextBox ID="txtSearch" class="controls_icr_searchbox" runat="server" 
                    style="width:200px;"/>
</form>
</body>

虽然进行Ajax调用的jQuery看起来像这样:

$(document).ready(function () {    
        $('.controls_icr_searchbox').keyup(function () {
            if ($('.controls_icr_searchbox').val().length > 4) {
                //Code to fetch
                //var divToBeWorkedOn = '#AjaxPlaceHolder';
                var parameters = "{'query':'" + 
                                    $('.controls_icr_searchbox').val() + "'}";
                var url = 'AutoComplete.asmx/GetAddress';
                $.ajax({
                    type: "POST",
                    url: url,
                    dataType: "json",
                    data: parameters,
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        var datafromServer = data.d.split(":");
                        $("[class$='controls_icr_searchbox']").autocomplete({
                            source: datafromServer
                        });
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        alert(textStatus);
                    }
                });
            }
          });    
    });

ajax调用每次都会返回结果,但它们似乎不会绑定在.autocomplete事件上。

1 个答案:

答案 0 :(得分:0)

我找到了问题的原因。 在成功撤回Ajax查询的结果后,我尝试使用以下代码将它们分配给自动完成:

$("[class$='controls_icr_searchbox']").autocomplete({

奇怪的是,这在第一个实例上起作用,但在任何后续更改中都失败了。 我的代码现在可以正常使用以下代码代替上述代码:

$(".controls_icr_searchbox").autocomplete({