Utilisation de w3.filterHTML()
Rappel : La recherche ne portera pas sur une colonne, ni qu'au début de la string. Ce qui rend le filtrage effectué par w3.filterHTML() non optimal.
Ici, le filtrage se fait sur la première colonne.
Le hic, les lignes non concernées s'affichent aussi, sauf la dernière colonne
tester avec : "c", "x", "."
Customer | City | Country |
---|---|---|
Alfreds Futterkiste | Berlin | Germany |
Berglunds snabbköp | Lule | Sweden |
Centro comercial Moctezuma | México D.F. | Mexico |
Ernst Handel | Graz | Austria |
FISSA Fabrica Inter. Salchichas S.A. | Madrid | Spain |
Galería del gastrónomo | Barcelona | Spain |
Island Trading | Cowes | UK |
Königlich Essen | Brandenburg | Germany |
Laughing Bacchus Wine Cellars | Vancouver | Canada |
Ici, le filtrage se fait sur toutes les colonnes
Customer | City | Country |
---|---|---|
Alfreds Futterkiste | Berlin | Germany |
Berglunds snabbköp | Lule | Sweden |
Centro comercial Moctezuma | México D.F. | Mexico |
Ernst Handel | Graz | Austria |
FISSA Fabrica Inter. Salchichas S.A. | Madrid | Spain |
Galería del gastrónomo | Barcelona | Spain |
Island Trading | Cowes | UK |
Königlich Essen | Brandenburg | Germany |
Laughing Bacchus Wine Cellars | Vancouver | Canada |
Code JS de la fonction w3.sortHTML :
w3.sortHTML = function(id, sel, sortvalue) { var a, b, i, ii, y, bytt, v1, v2, cc, j; a = w3.getElements(id); for (i = 0; i < a.length; i++) { for (j = 0; j < 2; j++) { cc = 0; y = 1; while (y == 1) { y = 0; b = a[i].querySelectorAll(sel); for (ii = 0; ii < (b.length - 1); ii++) { bytt = 0; if (sortvalue) { v1 = b[ii].querySelector(sortvalue).innerText; v2 = b[ii + 1].querySelector(sortvalue).innerText; } else { v1 = b[ii].innerText; v2 = b[ii + 1].innerText; } v1 = v1.toLowerCase(); v2 = v2.toLowerCase(); if ((j == 0 && (v1 > v2)) || (j == 1 && (v1 < v2))) { bytt = 1; break; } } if (bytt == 1) { b[ii].parentNode.insertBefore(b[ii + 1], b[ii]); y = 1; cc++; } } if (cc > 0) {break;} } } };