Risposte:
Ecco la documentazione corretta per il widget jQueryUI . Non esiste un parametro integrato per limitare i risultati massimi, ma puoi realizzarlo facilmente:
$("#auto").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(myarray, request.term);
response(results.slice(0, 10));
}
});
È possibile fornire una funzione al source
parametro e quindi chiamare slice
l'array filtrato.
Ecco un esempio funzionante: http://jsfiddle.net/andrewwhitaker/vqwBP/
Puoi impostare l' minlength
opzione su un valore elevato o puoi farlo tramite CSS in questo modo,
.ui-autocomplete { height: 200px; overflow-y: scroll; overflow-x: hidden;}
Lo stesso che "Jayantha" ha detto che usare i CSS sarebbe l'approccio più semplice, ma questo potrebbe essere migliore,
.ui-autocomplete { max-height: 200px; overflow-y: scroll; overflow-x: hidden;}
Nota l'unica differenza è "altezza massima". ciò consentirà al widget di ridimensionare a un'altezza inferiore ma non superiore a 200 px
Aggiungendo alla risposta di Andrew , puoi persino introdurre una maxResults
proprietà e usarla in questo modo:
$("#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/
Ciò dovrebbe aiutare la leggibilità e la manutenibilità del codice!
Ho potuto risolvere questo problema aggiungendo il seguente contenuto al mio file CSS:
.ui-autocomplete {
max-height: 200px;
overflow-y: auto;
overflow-x: hidden;
}
Se i risultati provengono da una query mysql, è più efficiente limitare direttamente il risultato mysql:
select [...] from [...] order by [...] limit 0,10
dove 10 è il numero massimo di righe desiderato
jQuery consente di modificare le impostazioni predefinite quando si collega il completamento automatico a un input:
$('#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
}
});
Plugin: jquery-ui-autocomplete-scroll con scroller e i risultati limite sono belli
$('#task').autocomplete({
maxShowItems: 5,
source: myarray
});
Non esiste un parametro massimo.
max
in completamento automatico