【问题标题】:jQuery Autocomplete losing text on AutoPostBackjQuery Autocomplete 在 AutoPostBack 上丢失文本
【发布时间】:2010-10-24 01:14:18
【问题描述】:

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

当我更改代码以执行 AutoPostBack 时,带有 jQ​​uery AutoComplete 的文本字段返回空白。但是,如果我查看页面的来源,则文本位于文本字段中。如果我现在发布表单,该页面将发回一个空白字段。我的 Google-Fu 在这方面很弱,因为我想不出任何解决方法。

有没有人遇到过这样的问题,即 AutoPostBack 上的 Autocomplete 字段被空白,您是如何解决的?

如果确实有必要,我可以发布代码,但由于公司政策,我需要先清理很多代码。

【问题讨论】:

  • 您是否为自动完成文本框启用了视图状态?
  • 是的,我愿意。 (返回并检查以确定,但只有自动完成框被空白。其他所有字段都很好。)

标签: asp.net jquery webforms autocomplete autopostback


【解决方案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);

【讨论】:

  • 我认为它被 document.ready 中的插件设置为空字符串。我面前没有代码,但我很确定页面加载中没有任何东西可以将其设置回来。我不记得在自动完成文档中看到任何关于初始化字段的内容。
  • 我就是这么想的,可以的话看一下插件的源码。
  • 如果是这种情况,请尝试我在帖子中编辑的上述 javascript/jquery 代码。
  • 我继续查看自动完成插件的源代码,因为我的 javascript 技能不是最好的。 (可能是为什么我首先遇到问题。)您的修复确实有效,但感觉有点油腻。 :-) 我将其标记为答案,因为它是一个修复程序,它让我继续阅读此页面。谢谢!
【解决方案2】:

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

在选项中添加“autoPostBackSelection: false”,例如:

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

之后,将其添加到 "return true;" 函数的末尾。

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

例子:

函数选择当前(){ ... 如果 (options.autoPostBackSelection == 真的) { __doPostBack($input.id, ""); } 返回真; }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多