Se connecter

Informatique

Création de sites web

Sujet : Moyen simple de sort une table en natif
1
Lolopy
Niveau 53
17 avril 2023 à 18:27:37

Bonjour,

Je chercher un moyen en natif de sort une table de façon simple.
On clique sur le header op sa sort en ASC ou en DESC aussi bien si c'est un string que un nombre.

BrandNewFlavor
Niveau 9
17 avril 2023 à 18:34:58

Tu entends quoi par "en natif" ?
Tu stock les elements dans un array en js, et tu tries avec sort(), ça me parait le plus natif possible.

( ça doit être possible en full css aussi mais bon, je m'y aventurerais pas perso)

Lolopy
Niveau 53
17 avril 2023 à 20:30:36

Le 17 avril 2023 à 18:34:58 :
Tu entends quoi par "en natif" ?
Tu stock les elements dans un array en js, et tu tries avec sort(), ça me parait le plus natif possible.

( ça doit être possible en full css aussi mais bon, je m'y aventurerais pas perso)

ca veut dire sans installer un outil.

BrandNewFlavor
Niveau 9
18 avril 2023 à 07:16:51

alors oui, en js vanilla c'est ce qui me parait le plus adéquat

Lolopy
Niveau 53
18 avril 2023 à 12:44:11

Le 18 avril 2023 à 07:16:51 :
alors oui, en js vanilla c'est ce qui me parait le plus adéquat

As tu des samples?

Lolopy
Niveau 53
20 avril 2023 à 11:20:48
function sortTable(n) {
    let table = $("#mytable").find('tbody');
    let dir = table.data("sorting-dir") || {};
    let cDir = !!dir["c"+n]; //double negative to convert undefined to false
    let tdSelector = "td:nth-child(" + (n+1) + ")";
    
    table.find('tr').sort(function(a, b) {
        let elems = cDir ? [$(b),$(a)] : [$(a),$(b)];
        return elems[0].find(tdSelector).text().trim().localeCompare(elems[1].find(tdSelector).text().trim(), 'en',{numeric: true});
    }).appendTo(table);
    
    dir["c"+n] = !cDir;
    table.data("sorting-dir", dir);
}

Quelqu un serait convertir cela en Javascript vanilla ?

Frigid
Niveau 52
11 mai 2023 à 15:43:16

Le 20 avril 2023 à 11:20:48 :
function sortTable(n) { let table = $("#mytable").find('tbody'); let dir = table.data("sorting-dir") || {}; let cDir = !!dir["c"+n]; //double negative to convert undefined to false let tdSelector = "td:nth-child(" + (n+1) + ")"; table.find('tr').sort(function(a, b) { let elems = cDir ? [$(b),$(a)] : [$(a),$(b)]; return elems[0].find(tdSelector).text().trim().localeCompare(elems[1].find(tdSelector).text().trim(), 'en',{numeric: true}); }).appendTo(table); dir["c"+n] = !cDir; table.data("sorting-dir", dir); }

Quelqu un serait convertir cela en Javascript vanilla ?

Quelqu'un pour le faire svp

1
Sujet : Moyen simple de sort une table en natif
   Retour haut de page
Consulter la version web de cette page