Un Javascript pour changer l'ordre des TD dans un TABLE - HTML/CSS - Programmation
Marsh Posté le 23-01-2007 à 09:58:00
C'est un bon départ les childNodes
Tu vas également avoir besoin de la fonction insertBefore
Essaye de débuter avec ça et dis nous où tu bloques!
Marsh Posté le 23-01-2007 à 10:56:32
Hey les filles
Encore mieux que les childNodes et c'est DOM :
en JS un TABLE contient un attribut
-tHeads qui est un array vers tous les thead
-tBodies "" "" "" les tbodies
-chaque thead et tbodies contient un attribut "rows" qui est un array pointant sur chaque TR du Thead et/ou du Tbody
-Ensuite chaque TR contient un array "cells" qui pointent vers chaque TH et TD de la ligne.
-De plus les TR on un attribut qui est rowIndex, qui correspond à la position du TR dans le tableau rows
-Idem pour les TD et TH qui ont un attribut cellIndex qui correspond à leur position dans le tableau cell
Code :
|
Marsh Posté le 23-01-2007 à 14:11:30
Merci de cette aide précieuse, mais un flou persiste, le but de l'opération est en cliquant sur un bouton se trouvant lui meme sur une ligne du tableau, de faire monter l'enregistrement ou le descendre, par conséquent il faudrait savoir et fournir en argument dans une fonction la position de cet enregistrement...
En fait je m'embrouille et ca me fait mal a la tete
Sur le net j'ai trouvé plein de JS mais pour trier, pas pour bouger des enregistrements
PS Gatsu35, jamais entendu parler de TH dans un <table>
Quel est le code HTML associé a ton exemple ?
Marsh Posté le 23-01-2007 à 14:50:36
ce que tu demandes n'est vraiment pas très compliqué à faire à condition d'avoir quelques bases en js.
Par exemple, en cliquant sur ton bouton tu peux récuperer son noeud parent ( parentNode) qui est le td, le noeud parent de celui-ci qui sera le tr. Puis à partir de là jouer avec ...
Honnêtement on pourrait te donner la solution en 10 lignes ( gatsu s'amuserait à le faire en 3 ) mais cela ne présenterait aucun interêt ( pédagogique).
Marsh Posté le 23-01-2007 à 16:31:46
anapajari a écrit : ce que tu demandes n'est vraiment pas très compliqué à faire à condition d'avoir quelques bases en js. |
Je te le fais pas dire Je suis surtout PHP, mais javascript je dois avoir le strict minimum (controles de saisie, redirection, etc...) mais les trucs plus poussés comme ca je ne les maitrises pas.
Je demande pas des forcéments des bouts de codes complet, et c'est emem mieux de le faire soit meme comme tu l'a souligné
Donc si j'ai bien compris , ceci :
Code :
|
equivaudrait à :
Code :
|
Je suis dans le bon ? Après cela il faut connaitre la position du TR dans le TABLE, et là encore une fois c'est le flou.
Car après je créé un Array avec les différents chilNodes du TABLE. Et après il faut vider l'actuel tableau et le recréer en ne changeant que les TR qui m'intéressent.
Ya un élément qui permet d'obtenir la position dans le TABLE du TR courant ? au meme titre que le selectedIndex du select... ?
Merci
Marsh Posté le 22-01-2007 à 21:41:03
Bonsoir !
voila, tout est dit je pense :
J'ai un tableau avec X ligne et Y collonnes, et je cherche a faire passer au sein de se tableau le groupe <tr> N°X a la position X+1 ou X-1 en cliquant sur un tableau, autrement dit, intervertir deux TR dans un tableau...
Ce doit etre possible comme avec des LI mais pour les TD je sais pas trop... Je pensani aux childNodes, mais ca reste trop flou...
Quelqu'un saurait-il m'indiquer comment procéder ?
Merci a vous