質問

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

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、"を追加しますオプションの例:

$.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 ==   true){           __doPostBack($ input.id、"");         }         trueを返します。       }

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top