Respuestas:
Aquí está la documentación adecuada para el widget jQueryUI . No hay un parámetro incorporado para limitar los resultados máximos, pero puede lograrlo fácilmente:
$("#auto").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(myarray, request.term);
response(results.slice(0, 10));
}
});
Puede proporcionar una función al source
parámetro y luego llamar slice
a la matriz filtrada.
Aquí hay un ejemplo de trabajo: http://jsfiddle.net/andrewwhitaker/vqwBP/
Puede establecer la minlength
opción en un gran valor o puede hacerlo mediante CSS como este,
.ui-autocomplete { height: 200px; overflow-y: scroll; overflow-x: hidden;}
Lo mismo que "Jayantha" dijo que usar CSS sería el enfoque más fácil, pero esto podría ser mejor,
.ui-autocomplete { max-height: 200px; overflow-y: scroll; overflow-x: hidden;}
Tenga en cuenta que la única diferencia es "altura máxima". esto permitirá que el widget cambie de tamaño a una altura más pequeña pero no más de 200 px
Agregando a la respuesta de Andrew , incluso puede introducir una maxResults
propiedad y usarla de esta manera:
$("#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/
¡Esto debería ayudar a la legibilidad y mantenibilidad del código!
Podría resolver este problema agregando el siguiente contenido a mi archivo CSS:
.ui-autocomplete {
max-height: 200px;
overflow-y: auto;
overflow-x: hidden;
}
Si los resultados provienen de una consulta mysql, es más eficiente limitar directamente el resultado mysql:
select [...] from [...] order by [...] limit 0,10
donde 10 es el número máximo de filas que desea
jQuery le permite cambiar la configuración predeterminada cuando adjunta autocompletar a una entrada:
$('#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
}
});
Complemento: jquery-ui-autocomplete-scroll con desplazamiento y los resultados de límite son hermosos
$('#task').autocomplete({
maxShowItems: 5,
source: myarray
});
No hay un parámetro máximo.
max
en autocompletar