我在ASP.Net Webform上有一个jQuery Autocomplete字段,到目前为止一切都运行良好。我还有一个DropDownList,我需要使用AutoPostBack触发onSelectedIndexChanged。

当我更改代码以执行AutoPostBack时,其上包含jQuery AutoComplete的文本字段将返回空白。但是,如果我查看页面的来源,则文本位于文本字段中。如果我现在发布表单,页面将发回一个空白字段。我的Google-Fu在这方面很弱,因为我无法为它做任何解决方法。

有没有人遇到过类似的问题,自动填充字段会在AutoPostBack上消失,你是如何解决这个问题的?

如果确实有必要,我可以发布代码,但是由于公司政策的原因,我需要先对其进行清理。

有帮助吗?

解决方案

如何初始化自动填充字段?是在从服务器加载页面还是在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);

其他提示

如果你使用jQuery Autocomplete插件1.1, *修订版:$ Id:jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $

添加“autoPostBackSelection:false”,在选项Ex:

$.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;       }

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top