3

ASP.Net WebフォームにjQueryオートコンプリートフィールドがあり、今まですべてがうまく機能しています。また、AutoPostBack で onSelectedIndexChanged を起動する必要がある DropDownList もあります。

AutoPostBack を実行するようにコードを変更すると、jQuery AutoComplete を含むテキスト フィールドが空白に戻ります。しかし、ページのソースを見ると、テキストはテキスト フィールドにあります。フォームを投稿すると、ページは空白のフィールドを返します。私の Google-Fu は、これに対する回避策が思いつかなかったので、これに弱いです。

AutoPostBack で Autocomplete フィールドが空白になるというこのような問題が発生した人はいますか?どのように回避しましたか?

本当に必要な場合はコードを投稿できますが、会社のポリシーにより、その前に多くのコードをサニタイズする必要があります.

4

2 に答える 2

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);
于 2009-05-05T23:53:05.827 に答える
0

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,
    ...

その後、"selectCurrent() 関数の最後にある "return true;" の直前にこれを追加します。

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

例:

function selectCurrent() { ... if (options.autoPostBackSelection == true) { __doPostBack($input.id, ""); 真を返します。}

于 2010-05-31T19:42:30.020 に答える