2009-05-05 52 views
3

我有一个ASP.Net Webform上的jQuery自动填充字段,并且所有内容一直在工作得很好,直到现在。我也有一个DropDownList,我需要用AutoPostBack触发SelectedIndexChanged。jQuery自动完成丢失AutoPostBack上的文本

当我将自己的代码更改为AutoPostBack时,具有jQuery自动完成功能的文本字段会变回空白。但是,如果我查看页面的来源,则文本位于文本字段中。如果我现在发布表单,页面会发回一个空白字段。我的Google-Fu在这方面很薄弱,因为我无法为它提供任何解决方法。

有没有人有过这样的问题,Autocomplete字段在AutoPostBack上空白了,你是如何解决它的?

如果真的有必要,我可以发布代码,但在公司政策出台之前,我需要对其进行大量清理。

+0

你已经启用视图状态的一个utocomplete文本框? – 2009-05-05 22:16:46

+0

是的,我喜欢。 (回去后检查一下,但是只有自动完成框空白,其他每个字段都没问题。) – Moose 2009-05-05 22:44:29

回答

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); 
0

如果你使用jQuery自动完成插件1.1, *修订:$标识:jquery.autocomplete.js 15 2009-08-22 10:30:在选择防爆:27Z joern.zaefferer $

添加 “假,autoPostBackSelection”:

$.Autocompleter.defaults = { 
    inputClass: "ac_input", 
    resultsClass: "ac_results", 
    loadingClass: "ac_loading", 
    minChars: 1, 
    delay: 400, 
    autoPostBackSelection: false, 
    ... 

,广告之后这就在“回归真实;在“selectCurrent()函数的末尾

if (options.autoPostBackSelection == true) { 
     __doPostBack($input.id, ""); 
     } 

例:

功能selectCurrent(){... 如果 (options.autoPostBackSelection == 真){ __doPostBack( $ input.id, “”);} 回报 真实; }