大佬教程收集整理的这篇文章主要介绍了ASP.NET jQuery AutoComplete – 首次搜索后文本框无响应,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
到目前为止,我在本网站的其他问题中找不到相同的问题.这是我正在经历的:
我有一个带有UpdatePanel的ASP.NET WebForms应用程序,其中包含一个搜索区域,我有一个ASP:TextBox,我用它来进行jQuery自动完成.
$(document).ready(function() {
$("#tabContainer_tabSearchBreaks_txtSearchName").autocomplete("AutoCompleteEmployee.ashx",{ minChars: 3,maxItemsToShow: 10 });
});
这一切工作正常,但如果我点击ASP:按钮并处理搜索区域的一些代码,自动完成javascript将不再有效.
有任何想法吗???
[更新 – 更多代码]
以下是更新按钮对搜索区域所做的与自动完成代码分开的内容:
try {
int employeeID;
string[] namelst = txtSearchName.Text.Split(new string[] {
" "
},StringSplitOptions.None);
employeeID = int.Parse(namelst[2].Substring(1,namelst[2].Length - 2));
string name = namelst[0] + " " + namelst[1];
var breaks = bh.ListBreaksForEmployeeByDate(employeeID,DateTime.Parse(txtFromDate.Text),txtToDate.Text.Length > 0 ? DateTime.Parse(txtToDate.Text).AddDays(1).AddSeconds(-1) : DateTime.Today.AddDays(1).AddSeconds(-1));
if (breaks.Count() > 0) {
lblEmployeeTitle.Text = "Breaks for " + name;
gridSearchBreaks.DataSource = breaks;
gridSearchBreaks.DataBind();
}
} catch {}
希望这可以帮助.目前我已经隐藏了用户包含此问题的选项卡.
首先,$(document).ready中定义的所有事件绑定在第一次部分回发后停止工作(我假设你的按钮点击导致部分回发).这就是ASP.NET的工作方式.那么你如何解决它?那么,有几种方法可以解决这个问题.一个典型的建议是将$(document).ready替换为ASP.NET AJAX自己的pageLoad事件.这可能会解决一个问题,但它很可能会导致更多问题,因为现在您将在每个部分回发上绑定事件,从而导致在单个事件上重复执行事件处理程序.在执行任何绑定之前,您可以通过为选择器调用unbind来解决一些问题.对于简单的事件绑定,您可以继续使用带有实时函数的$(document).ready(而不是单击,悬停等).
我没有使用UpdatePanel的jQuery插件,所以我不能确定你需要做什么,但是一旦你理解了发生了什么,就不难找到正确的方法.要了解有关此问题和可能解决方案的更多信息,请阅读Dave Ward的文章$(document).ready() and pageLoad() are not the same!(该文章包含几个示例).
以上是大佬教程为你收集整理的ASP.NET jQuery AutoComplete – 首次搜索后文本框无响应全部内容,希望文章能够帮你解决ASP.NET jQuery AutoComplete – 首次搜索后文本框无响应所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。