Ответы:
Вот соответствующая документация для виджета 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;}
Обратите внимание, единственная разница - «максимальная высота». это позволит изменить размер виджета до меньшей высоты, но не более 200 пикселей.
Добавление к ответу Эндрю , вы можете даже ввести в 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 - максимальное количество строк, которое вы хотите
Я сделал это следующим образом:
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
}
}
));
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
автозаполнении нет опции, вызываемой