【问题标题】:JQuery Auto-Complete With TextChanged / OnBlur PostBackJQuery 使用 TextChanged / OnBlur PostBack 自动完成
【发布时间】:2010-07-06 18:52:51
【问题描述】:
我在使用自动完成文本框时遇到了一个非常糟糕的问题。每当用户从自动完成字段中选择一个项目并保留该项目的值而不是输入的文本时,我想启动一个异步 PostBack。当按下回车而不是单击鼠标时,这非常有效。
我的问题的一个例子:
有人进入页面,在文本框中输入 1000。自动完成显示 10002、1000B 和 10000。用户单击 1000B 并启动异步 PostBack。 TextBox.Text 的值仍然是 1000,而不是 1000B。
我的假设是文本框在实际分配值之前启动 PostBack。我只是好奇是否有人对我所说的问题有任何可能的解决方案。
【问题讨论】:
标签:
c#
asp.net
jquery
asp.net-ajax
autocomplete
【解决方案1】:
我以这种方式修复它:
根据网站上的另一个问题,我在选项列表中添加了一个 autoPostBack 参数。
在 SelectCurrent() 函数的底部,我添加了这些行。
if (options.autoPostBackSelection == true) {
__doPostBack($input.id, "");
}
然后,我的模糊功能看起来像这样:
.blur(function() {
hasFocus = 0;
if (!config.mouseDownOnSelect) {
hideResults();
}
if (options.autoPostBackSelection == true) {
selectCurrent();
}
我实际上为此挣扎了一会儿,我的 Javascript/DOM 事件技能不是很好。希望这对某人有所帮助。