私は単純な自動補完検索機能が必要ですが、複数の値を入力することもできます。私はjQuery UIのオートコンプリートウィジェット(http://jqueryui.com/autocomplete/)を使用していますが、これまで提案の最初の文字のみを検索するようにソースを設定しました。今追加したいのは、ユーザーが同じテキストボックスから複数の項目を検索する機能です。 (コンマ候補が再度表示された後)jQuery UIテキストボックス内の複数の値を自動補完
私はこれをどのように行うことができるか検索しようとしています。私が見つけた唯一のことは、multiple: true
(http://forum.jquery.com/topic/multiple-values-with-autocomplete)を追加できるオプションです。それはもはやドキュメントに記載されていないので、オプションが変更されたかどうかわからない、もう存在しないということです。
これは私のコードです:
var items = [ 'France', 'Italy', 'Malta', 'England',
'Australia', 'Spain', 'Scotland' ];
$(document).ready(function() {
$('#search').autocomplete({
source: function (req, responseFn) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp('^' + re, 'i');
var a = $.grep(items, function (item, index) {
return matcher.test(item);
});
responseFn(a);
}
});
});
私が試したもの:
var items = [ 'France', 'Italy', 'Malta', 'England',
'Australia', 'Spain', 'Scotland' ];
$(document).ready(function() {
$('#search').autocomplete({
source: function (req, responseFn) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp('^' + re, 'i');
var a = $.grep(items, function (item, index) {
return matcher.test(item);
});
responseFn(a);
},
multiple: true
});
});
素晴らしいことです! :)私が持っている問題は、私が上記のコードで持っているRegExで動作するようには見えないということだけです。今すぐRegEx –
を無視しています。それが正しい場合は、この回答を受け入れます。 –
これは正しいですが、私が持っているRegExでは機能しません。私は提案が「手紙による」ではなく、検索の最初の手紙と一致するようにしたい。それが私の唯一の問題です。私が投稿したコードを見ると、RegExがこれに対応しています。コードが機能していても、RegExコードを追加すると、上記の提案は最初の単語に対してのみ表示されます。 –