|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 32 844 ![]() |
Un petit script pour trier un tableau html
Code HTML :
Syntaxe d'utilisation: paramètres de la fonction: tid = id de la table col = indexe de colonne à trier ord= asc ou desc Dans cette première version le tri est alphabétique uniquement Je cherche un moyen d'intégrer le tri alpha numérique...
__________________
Ma page Developpez - Mon Blog Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr Humour |
||
|
|
10
|
|
|
#2 | ||
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 848 ![]() |
Bonsoir
Voici, je crois que c'est correct, les trois solutions (alpha, num, alphanum) en asc et en desc. Nota Bene : j'ai utilisé du jQuery bien entendu, mais cela ne change rien à ton code d'origine sauf pour le tri. Nota Bene : le tri alpha ou alphanum ne fonctionne pas sur les caractères (minuscules ou majuscules) accentués. Je pensais avoir trouvé la solution avec a[1].localeCompare(b[1]) mais cela ne fonctionne pas avec tous les navigateurs. Même avec Firefox il y a parfois des soucis avec Firebug alors que cette méthode est bien renseignée dans la documentation JavaScript de Mozilla. Code :
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & Co plugin dialogModalSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
||
|
10
|
|
|
#3 |
![]() ![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 32 844 ![]() |
Daniel,j'avais en effet fait des tests avec parseInt, *1 ... j'avais juste zappé la différenciation isNaN du coup pour l'aphanum ça passait pas ...
__________________
Ma page Developpez - Mon Blog Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr Humour |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 5 158 ![]() |
bonjour Spacefrog,
une chose me surprend dans ton code : alors que sorter est de type Array et ne contient que du texte Du coup le appendChild() crée indirectement des champs texte ? En plus quand on sait que appendChild() ajoute un élément et ne remplace pas un élément par un autre, j'avoue que quelque chose m'a échappé |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 32 844 ![]() |
Code :
sorter.push([lines[i],lines[i].getElementsByTagName('td')[col].innerHTML]) je push un array contenant le tr... et le innerHTML de la colone à trier d'ou le sort sur le [1] et le append du [0]
__________________
Ma page Developpez - Mon Blog Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr Humour |
|
|
00
|
|
|
#6 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 848 ![]() |
Bonsoir
Il y avait un petit bug dans le tri alphanum, un a au lieu d'un a[1] et idem pour le b. [Edit] Nota Bene : le tri alpha ou alphanum ne fonctionne pas sur les caractères (minuscules ou majuscules) accentués. Je pensais avoir trouvé la solution avec a[1].localeCompare(b[1]) mais cela ne fonctionne pas avec tous les navigateurs. Même avec Firefox il y a parfois des soucis avec Firebug alors que cette méthode est bien renseignée dans la documentation JavaScript de Mozilla.
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & Co plugin dialogModalSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#7 | ||||
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 848 ![]() |
Bonsoir
En combinant les efforts de chacun, voici une solution qui semble fonctionner pour les caractères accentués : Code html :
Code javascript :
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & Co plugin dialogModalSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
||||
|
00
|
|
|
#8 |
![]() ![]() ![]() Inscription : mars 2008 Messages : 3 996 ![]() |
Merci à vous pour cet exercice collectif.
__________________
Médias : influence, pouvoir et fiabilité - Découvrez MooTools - Le mathématicien et ses esclaves Elen Poukram - Isegoria - Sandawe |
|
|
00
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() ![]() Développeur informatique Inscription : février 2006 Messages : 3 612 ![]() |
Waou po mal
dite ça ne vous dirait pas de rendre la fonction de tri générique et d'externalisé la génération des lignes du tableau ?? Moi j'dis ça , je ne dis rien hein ^^ [EDIT] Mes excuses je n'avais pas vu le post juste en dessous
__________________
est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts ) |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 32 844 ![]() |
le but n'est pas de générer des lignes ...
mais de trier des lignes existantes ... quel serait le but de la génération .?
__________________
Ma page Developpez - Mon Blog Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr Humour |
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() ![]() Développeur informatique Inscription : février 2006 Messages : 3 612 ![]() |
Pardon je me suis mal exprimé :
- Je pensais effectivement a la fonction de tri autonome Spaffy : je suis pt bientôt de retour !!! t'expliquerais en MP
__________________
est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts ) |
|
|
00
|
|
|
#12 | ||
|
Membre confirmé
![]() Inscription : octobre 2007 Messages : 323 ![]() |
Voici ma version, optimisable mais fonctionnelle :
Code :
|
||
|
|
00
|
|
|
#13 | |||
|
Membre Expert
![]() David Non communiquéDéveloppeur Web Inscription : mars 2004 Messages : 3 348 ![]() |
Citation:
__________________
|
|||
|
|
00
|
|
|
#14 | ||
|
Membre confirmé
![]() Inscription : octobre 2007 Messages : 323 ![]() |
Encore une petite correction :
Code :
|
||
|
|
00
|
|
|
#15 | |||||
|
Membre actif
![]() Inscription : juin 2004 Messages : 158 ![]() |
Bonjour,
On va dire que je cherche la p'tite bête, mais si je peux me permettre, le script est un peu intrusif : Citation:
Je suppose que le but du script était essentiellement le tri, mais tant qu'à le faire, autant faire propre, non ? Code :
Code :
|
|||||
|
|
00
|
|
|
#16 | ||
|
Membre confirmé
![]() Inscription : octobre 2007 Messages : 323 ![]() |
Oui, en effet, cela résulte du remplacement des éléments liés à ma lib' par du minimaliste, désolé...
__________________
Code :
|
||
|
|
00
|
|
|
#17 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 174 ![]() |
Bonjour,
J'essaye d'utiliser le code Lcf.vs... Je voudrais pouvoir passer à la fonction natsortTable le numéro de colonne à trier : Code :
natsortTable(document.getElementById('matable','2')); Merci |
|
|
00
|
|
|
#18 | ||
|
Membre confirmé
![]() Inscription : octobre 2007 Messages : 323 ![]() |
Simule le clic sur le th correspondant
__________________
Code :
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com