Ho una lista molto grande di elementi (14000+), voglio avere un campo di ricerca che mentre si digita il testo in esso, filtra i risultati e nasconde gli elementi non correlati.Filtro elenco grande con javascript
Attualmente sto usando questo:
$.expr[':'].containsIgnoreCase = function (n, i, m) {
return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};
$("#search").on("keyup", function() {
var filter = $("#search").val();
$(".list-group-item").not(":containsIgnoreCase('" + filter + "')").addClass("hidden");
$(".list-group-item:containsIgnoreCase('" + filter + "')").removeClass("hidden");
});
Quale funziona meravigliosamente ... sulle liste più piccole. Questa lista è semplicemente troppo grande per essere gestibile con quel codice.
Non so se esiste un altro codice in grado di gestire questo lato client di molti elementi. In caso contrario, sarebbe meglio lasciare la lista vuota e fare una richiesta ajax per compilare la lista mentre le corrispondenze sono fatte?
ho trovato il perfetto di essere sufficiente per molti indirizzi e-mail. se si desidera lo stesso risultato di una piccola lista, suddividere l'elenco in 26 elenchi più piccoli (az) e mostrare solo i risultati di uno di essi contemporaneamente. –
dandavis
Hai provato a utilizzare [DataTables] (http: //www.datatables. netto) ? – Matthieu