単純配列からの入力でjqueryオートコンプリートを使用して文字列の先頭から完全一致を有効にするにはどうすればよいですか?オートコンプリート完全一致から始めてjqueryオートコンプリートを単純配列から
私は配列で、次のしている場合:
- スマート
- oversmart
- smartland
verysmartそして、私は「SMAを入力しています。 .. "テキストの入力では、私はスマートでスマートランドではなく、その他。
単純配列からの入力でjqueryオートコンプリートを使用して文字列の先頭から完全一致を有効にするにはどうすればよいですか?オートコンプリート完全一致から始めてjqueryオートコンプリートを単純配列から
私は配列で、次のしている場合:
verysmartそして、私は「SMAを入力しています。 .. "テキストの入力では、私はスマートでスマートランドではなく、その他。
必要に応じて、ソースパラメータを関数として変更するだけで済みます。
更新:答えるためにコードを追加:このような
var acList = ['smart', 'oversmart', 'smartland', 'undersmart', 'verysmart'];
$('#ac').autocomplete({
source: function (request, response) {
var matches = $.map(acList, function (acItem) {
if (acItem.toUpperCase().indexOf(request.term.toUpperCase()) === 0) {
return acItem;
}
});
response(matches);
}
});
素晴らしい...魅力のように、まさに私がjqueryオートコンプリートで探していたものです - ありがとう! –
正規表現を使用して、入力した部分文字列を、使用している配列の値と照合することができます。
jQueryのは、あまりにも多くのプラグインを持っています。ただ、それにはほとんど正規表現を振りかけると、このような何かを書く(私はそれをテストしていないが、私は以前にも同様のものをやった):
は$('#someTextInput').keyup(function(){
var regExMatch = new RegEx('^' + $(this).val());
$_LIs = $('#someUl li');
$_LIs.hide();
$_LIs.each(function(){
if(this.innerText.match(regExMatch)) { $(this).show(); }
});
});
あなたは行動を復元するnew RegEx
パラメータの'^' +
を削除することができます問題があると記述している。 '^'
は行/文字列選択の開始を意味するので、 's'は開始時以外は一致しません。
Erik - ありがとう、私はこれを心に留めて、それがオートコンプリートの中にどのように収まるか見るために微調整する... –
これは、以前の回答が受け入れられて以来変更されています。これを行うには今やlookupFilter
オプションがあり、はるかに簡単です。 https://stackoverflow.com/a/23239873/1204434からは、ちょうどのオプションのリストにこれを追加します。
lookupFilter: function (suggestion, originalQuery, queryLowerCase) {
return suggestion.value.toLowerCase().indexOf(queryLowerCase) === 0;
},
これはのhttp://api.jqueryui.com/autocomplete/
<script>
var tags = [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ];
$("#autocomplete").autocomplete({
source: function(request, response) {
var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i");
response($.grep(tags, function(item){
return matcher.test(item);
}));
}
});
</script>
可能重複で文書化されて実行する方法を[jQueryのオートコンプリートのプラグイン検索設定](のhttp:/ /stackoverflow.com/questions/2382497/jquery-autocomplete-plug-in-search-configuration) – j08691