2011-10-31 7 views
0

2つのテキストボックスに入力すると結果が表示されるオートコンプリート・エクステンダ・オブジェクトがあります。 EnterまたはTabのいずれかを押すと、オートコンプリート・エクステンダの項目が選択され、テキストボックスでkeydownイベントが発生し、Ajaxコールが実行されます。どのようにイベントがトリガされるかを指定しますか?

テキストボックスのkeydownイベントがautocompleteextenderの前にトリガされることがあります。これは、ajaxcallの作成時にテキストボックスのテキストが更新されていないことを意味します。

これらのイベントがどのような順序でトリガーされるかを指定する必要はありますか?

編集:私はOnClientItemSelectedプロパティを発見したら、すべての答えを

おかげで、しかし、利用可能なソリューションはかなり時代遅れになりました。私は、私がトリガーしたいjs関数にそれを指摘することができます。

質問がイベントの注文に関するものだったので、私は自分の質問に答えなかった。

答えて

0

Keydownイベントハンドラを削除してから、autocompleteextenderイベントが発生した後に再度割り当てることができます。

0

私は、オートコンプリート要求が非同期で実行されていると仮定しているため、キーコンディションが常に同じ順序で実行されている可能性があります。

あなたは

$("txtBox").bind("afterAutoComplete", existingKeyDownHandler); 

のように、テキストボックスにカスタムイベントを追加し、オートコンプリート要求機能に簡単にそれをトリガーすることができますか?

$("textBox").autocomplete(...).result(function(event, item) { 
    // do other stuff if required, or simply just trigger the event 
    $(this).trigger("afterAutoComplete"); 
}); 

HTH アレックス

関連する問題