我在ASP.Net Webform上有一个jQuery Autocomplete字段,到目前为止一切都运行良好。我还有一个DropDownList,我需要使用AutoPostBack触发onSelectedIndexChanged。
当我更改代码以执行AutoPostBack时,其上包含jQuery AutoComplete的文本字段将返回空白。但是,如果我查看页面的来源,则文本位于文本字段中。如果我现在发布表单,页面将发回一个空白字段。我的Google-Fu在这方面很弱,因为我无法为它做任何解决方法。
有没有人遇到过类似的问题,自动填充字段会在AutoPostBack上消失,你是如何解决这个问题的?
如果确实有必要,我可以发布代码,但是由于公司政策的原因,我需要先对其进行清理。
答案 0 :(得分:1)
如何初始化自动填充字段?是在从服务器加载页面还是在document.ready上使用自动完成jQuery插件设置为空字符串?
如果插件的源代码在document.ready上将文本框设置为空字符串,请尝试以下操作:
// Store current textbox value in a var
var temp = $('#mytextbox').val();
// Initialize the autocomplete plugin (winging it on the syntax)
$('#mytextbox').autocomplete();
// Reset the value of the textbox.
$('#mytextbox').val(temp);
答案 1 :(得分:0)
如果你使用jQuery Autocomplete插件1.1, *修订版:$ Id:jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $
在选项Ex:
中添加“autoPostBackSelection:false”$.Autocompleter.defaults = {
inputClass: "ac_input",
resultsClass: "ac_results",
loadingClass: "ac_loading",
minChars: 1,
delay: 400,
autoPostBackSelection: false,
...
之后,在“return true;”selectCurrent()函数结束之前添加它。
if (options.autoPostBackSelection == true) {
__doPostBack($input.id, "");
}
示例:
function selectCurrent(){ ... if(options.autoPostBackSelection == 是的){ __doPostBack($ input.id,“”); } 返回true; }