JQuery オートコンプリート: リストから選択を強制する方法 (キーボード) 質問する

JQuery オートコンプリート: リストから選択を強制する方法 (キーボード) 質問する

私は JQuery UI のオートコンプリートを使用しています。すべては期待どおりに動作しますが、キーボードの上下キーで循環させると、テキスト ボックスが期待どおりにリスト内の項目で埋められていることに気が付きます。しかし、リストの最後に達してもう一度下矢印を押すと、入力した元の用語が表示され、基本的にユーザーはそのエントリを送信できるようになります。

質問: 選択をリスト内の項目に制限し、入力内のテキストをキーボード選択から削除する簡単な方法はありますか?

たとえば、 を含むリストがある場合{'Apples (AA)', 'Oranges (AAA)', 'Carrots (A)'}、ユーザーが「app」と入力すると、リストの最初の項目 (ここでは「Apples (AA)」) が自動的に選択されますが、ユーザーが下矢印を押すと、テキストボックスに「app」が再び表示されます。これを防ぐにはどうすればよいですか?

ありがとう。

ベストアンサー1

強制選択には、「変更」イベントオートコンプリート

        var availableTags = [
            "ActionScript",
            "AppleScript"
        ];
        $("#tags").autocomplete({
            source: availableTags,
            change: function (event, ui) {
                if(!ui.item){
                    //http://api.jqueryui.com/autocomplete/#event-change -
                    // The item selected from the menu, if any. Otherwise the property is null
                    //so clear the item for force selection
                    $("#tags").val("");
                }

            }

        });

おすすめ記事