Fonction de tri hors balise TH de la table
Bonjour,
Le script JS permet de trier une table html :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
function trieTable(tb, n) {
var iter = 0;
while (!tb.tagName || tb.tagName.toLowerCase()
!= "table") {
if (!tb.parentNode) return;
tb = tb.parentNode;
}
if (tb.tBodies && tb.tBodies[0]) tb = tb.tBodies[0];
/* Tri par sélection
*/
var reg = /^\d+(\.\d+)?$/g;
var index = 0, value = null, minvalue = null;
for (var i= tb.rows.length -1; i >= 0; i -= 1) {
minvalue
= value = null;
index = -1;
for (var j=i; j >= 0; j -= 1) {
value = tb.rows[j].cells[n].firstChild.nodeValue;
if (!isNaN(value)) value = parseFloat(value);
if
(minvalue == null || value < minvalue) { index = j; minvalue = value; }
}
if (index != -1) {
var row = tb.rows[index];
if (row) {
tb.removeChild(row);
tb.appendChild(row);
}}
}
} |
Le trie ne fonctionne que si il est effectué/lancé depuis la balise TH de la table :
Code:
1 2
|
<th><a href="#" onclick="trieTable(this,0);">Ma Colonne</a></th> |
Comment faire pour lancer le trie hors de la table par un bouton ou un lien dans la page ?
Merci