6

このhttp://jqueryui.com/demos/autocomplete/#multipleに似た入力ボックスと追加ボタンがあります。Enter時にリストに追加されたコンマで分割されたすべての値を追加したいと思います。selectEnterキーを押したときにオートコンプリートのイベントと競合しているように見えるため、これを行うことができません。問題は、ユーザーが追加できるアイテムは1つだけであるということです。ユーザーに複数のアイテムを追加してから、Enterキーを押してそれらを同時にリストに追加してほしい。

キー入力イベントは、オートコンプリートの候補リストが閉じられた場合にのみ発生します。

4

2 に答える 2

3

openのandcloseイベントを使用してautocomplete、提案リストが現在開いているかどうかを追跡できます(この情報をどこかに保存します-以下の例では、"selectVisible" data):

$( "#tags" )
    .bind( "keydown", function( event ) {
        if ( event.keyCode === $.ui.keyCode.ENTER && !$(this).data("selectVisible") ) {
            // Your code
        }
        ...
    })
    .autocomplete({
        open: function() {
            $(this).data("selectVisible", true);
        },
        close: function() {
            $(this).data("selectVisible", false);
        },
        ...
    });

jsFiddleでの作業例。

于 2012-10-20T18:52:33.953 に答える
2

私は以前にjQueryMultiselectウィジェットを使用して大成功を収めましたが、ユーザーが複数のオプションを選択できる方が直感的だと思います。

また、Enterキーを箱から出して適切に処理します。

http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/

于 2012-10-26T20:28:40.083 に答える