2

jquery オートコンプリート ui のドロップダウンからユーザーに何かを選択させたいと考えています。「close」イベントを使用して関数で false を返そうとしましたが、うまくいきません。ユーザーが選択するまで選択リストを開いたままにしておくにはどうすればよいですか?

それを見る必要がある人のために、 http: //smartsend.ontech.com.au/quote 4 文字の郵便番号を入力してください - そのリストを開いたままにしておいてください。

ありがとう

ジェイソン

4

2 に答える 2

2

結果を再度開く close イベントのカスタム ハンドラーを追加すると機能しますが、結果を閉じることができないため、少し面倒です。ユーザーが選択を行った後も結果を開いたままにして、さらに選択できるようにしたかったのですが、ユーザーが選択を行わずに他の場所をクリックした場合、またはユーザーがエスケープを押した場合、または入力テキストを削除した場合は閉じます。通常は結果を閉じるその他の処理を行います。これが私のために働いたものです:

close : function (event, ui) {
    event.preventDefault();

    if ( event.which == 1 ) {
        $("ul.ui-autocomplete").show();
        $("ul.ui-autocomplete").data('keep-open', 1);
    }
    else if ( $("ul.ui-autocomplete").data('keep-open') == 1) {
        $("ul.ui-autocomplete").show();
        $("ul.ui-autocomplete").data('keep-open', 0);
    }

    return false;
}

イベントは、ユーザーが選択を行っているときに 1 になりますが、別のクローズ イベントがすぐに続き、とにかく結果を閉じます。そこで、keep-open フラグを追加しました。おそらく、その複雑さを処理するためのより良い方法があります。

単純な閉じるボタンも追加したので、ユーザーは選択が完了したら手動で結果を閉じることができます。

于 2013-08-21T22:19:24.150 に答える
1

これを行う方法が見つからなかったので、ブロック UI プラグインを使用しました

于 2011-01-27T01:06:04.580 に答える