複数の単語に対してJQueryオートコンプリートを使用する方法
-
05-07-2019 - |
質問
私はオートコンプリートフィールドを持っていますが、どうすればそれを使用できますか 複数の単語に対して?最初の単語を入力すると完璧に機能しますが、 私がスペースを入れて2番目の単語を入力すると、2つの単語が送り返されます サーバーに対して、そしてもちろん結果は間違っています!
eg。 2つの単語を入力すると、
「Java javascript」
最初の単語「Java」、オートコンプリートはうまく機能し、リストを引き出します。
ただし、iスペースを入力してjavascriptを入力すると、オートコンプリートは「Java + javascript 'をajax関数に追加します。
これを修正する方法はありますか?
解決
できないように見えますが、組み込みの実装はそれをサポートしていません-上記のリンクで見ることができます:「安定版リリースまたはディストリビューションの一部ではありません」。
ただし、こちらで利用可能な外部バージョンをダウンロードして使用していますa>:
http://bassistance.de/jquery-plugins/jquery-plugin-オートコンプリート/
少し大きくなりますが、使用方法はまったく同じです。何も変更する必要はありません。複数選択する場合は、オプション{multiple:true}に追加します
更新
JQueryUIが最新バージョン用に更新され、この回答は廃止されました。最新の例はこちらにあります
他のヒント
「基本」を使用している場合オートコンプリートのバージョン、組み込みです。しかし、jQuery UIバージョンを使用している場合、ここに例があります:
$("#tagnames").autocomplete("/tags/filter", {
max: 6,
highlightItem: true,
multiple: true,
multipleSeparator: " ",
})
複数の単語の自動補完を有効にするには、オプション multiple:true および multipleSeparator:"を設定する必要があります。 "
より完全な回答のためにコメントを追加します。共通のプレフィックスを持つ2つの可能な選択肢があるとします。
ip5 、 ip5バッテリー
ユーザーがテキストボックスip5に入力すると、上記の最初の選択が自動的に選択され、ユーザーは2番目の選択のために入力し続けることができません。この動作を避けるため、オプションを使用してください
triggerSelectOnValidInput:true、