我的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事件。
发布于 2011-02-10 19:36:07
我已经找到了问题的原因。在成功地拉回Ajax查询的结果之后,我尝试使用以下代码将它们分配给自动完成:
$("[class$='controls_icr_searchbox']").autocomplete({奇怪的是,这在第一个实例上有效,但在随后的任何更改中都失败了。我的代码现在可以正常工作了,使用以下代码代替上面的代码:
$(".controls_icr_searchbox").autocomplete({https://stackoverflow.com/questions/4782890
复制相似问题