JQuery UI Autocompleteを使用しています。
$("#task").autocomplete({
max:10,
minLength:3,
source: myarray
});
Maxパラメーターが機能せず、10個以上の結果が得られます。何か不足していますか?
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;}
唯一の違いは「最大高さ」であることに注意してください。これにより、ウィジェットの高さを200px以下に変更できます。
Andrewの答え に追加すると、introducemaxResults
プロパティを使用して次のように使用できます。
$("#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/
これは、コードの可読性と保守性に役立つはずです!
ここに私が使用したものがあります
.ui-autocomplete { max-height: 200px; overflow-y: auto; overflow-x: hidden;}
オーバーフローオートなので、予期しないときにスクロールバーが表示されません。
CSSファイルに次のコンテンツを追加することで、この問題を解決できました。
.ui-autocomplete {
max-height: 200px;
overflow-y: auto;
overflow-x: hidden;
}
結果がmysqlクエリから得られた場合、mysqlの結果を直接制限する方が効率的です。
select [...] from [...] order by [...] limit 0,10
ここで、10は必要な最大行数です
私は上記のすべての解決策を試しましたが、私の方法はこの方法でしか働きませんでした:
success: function (data) {
response($.map(data.slice (0,10), function(item) {
return {
value: item.nome
};
}));
},
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
});
私は次の方法でそれをしました:
success: function (result) {
response($.map(result.d.slice(0,10), function (item) {
return {
// Mapping to Required columns (Employee Name and Employee No)
label: item.EmployeeName,
value: item.EmployeeNo
}
}
));
私の場合、これはうまくいきます:
source:function(request, response){
var numSumResult = 0;
response(
$.map(tblData, function(rowData) {
if (numSumResult < 10) {
numSumResult ++;
return {
label: rowData.label,
value: rowData.value,
}
}
})
);
},
Maxパラメーターはありません。