回答:
以下は、jQueryUIウィジェットの適切なドキュメントです。最大結果を制限するための組み込みパラメーターはありませんが、簡単に実現できます。
$("#auto").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(myarray, request.term);
response(results.slice(0, 10));
}
});
source
パラメータに関数を指定slice
して、フィルタリングされた配列を呼び出すことができます。
これが実際の例です: http : //jsfiddle.net/andrewwhitaker/vqwBP/
minlength
オプションを大きな値に設定することも、このようなcssでそれを行うこともできます。
.ui-autocomplete { height: 200px; overflow-y: scroll; overflow-x: hidden;}
「Jayantha」と同じように、CSSを使用するのが最も簡単な方法だと言いましたが、これはより良いかもしれません、
.ui-autocomplete { max-height: 200px; overflow-y: scroll; overflow-x: hidden;}
唯一の違いは「max-height」であることに注意してください。これにより、ウィジェットの高さを200px以下にすることができます
Andrewの回答に加えて、プロパティを導入しmaxResults
て次のように使用することもできます。
$("#auto").autocomplete({
maxResults: 10,
source: function(request, response) {
var results = $.ui.autocomplete.filter(src, request.term);
response(results.slice(0, this.options.maxResults));
}
});
jsFiddle:http ://jsfiddle.net/vqwBP/877/
これはコードの可読性と保守性に役立ちます!
この問題を解決するには、CSSファイルに次のコンテンツを追加します。
.ui-autocomplete {
max-height: 200px;
overflow-y: auto;
overflow-x: hidden;
}
結果がmysqlクエリからのものである場合、mysql結果を直接制限する方が効率的です。
select [...] from [...] order by [...] limit 0,10
ここで、10は必要な行の最大数です
jQueryを使用すると、入力にオートコンプリートをアタッチするときにデフォルト設定を変更できます。
$('#autocomplete-form').autocomplete({
maxHeight: 200, //you could easily change this maxHeight value
lookup: array, //the array that has all of the autocomplete items
onSelect: function(clicked_item){
//whatever that has to be done when clicked on the item
}
});
プラグイン: スクローラー付きjquery-ui-autocomplete-scrollと制限結果が美しい
$('#task').autocomplete({
maxShowItems: 5,
source: myarray
});
maxパラメータはありません。
max
オートコンプリートで呼び出されるオプションはありません