Intervertir deux lignes dans une table avec ordre > URGENT !

Intervertir deux lignes dans une table avec ordre > URGENT ! - HTML/CSS - Programmation

Marsh Posté le 12-12-2006 à 11:55:18    

Bonjour,
 
j'ai un soucis car j'ai besoin d'intervertir deux lignes d'un table HTML en javascript.
 
Le but est de pouvoir faire monter ou descendre les éléments à la demande avec un bouton "UP" et "DOWN" sur chaque ligne
 
De plus j'ai un champ hidden "ordre" qui devra contenir le numero de la ligne pour que lors de la validation je puisse savoir quel est le bon emplacement de chaque ligne...
 
je n'ai pas très envie de poster la page à chaqe fois, ça serait lourd et peu pratique pour l'utilisateur...
 
Please, je cherche depuis hier et mes idées ne sont pas terrible... j'ai trouvé un moveRow non standard mais l'idée ne ma plait pas et même avec ça je ne sais pas comment identifier le champ "ordre" de la ligne précedente.
 
Je suis en jsp/struts pour la génération du html/JS...
 
Pourriez vous m'aider ? une idée ?
 
Merci d'avance

Reply

Marsh Posté le 12-12-2006 à 11:55:18   

Reply

Marsh Posté le 12-12-2006 à 12:25:57    

pleeeeaaaassssseee personne n'a une idée ?

Reply

Marsh Posté le 12-12-2006 à 13:06:38    

struts layout fait du tri, entre autres

Reply

Marsh Posté le 12-12-2006 à 13:16:11    

Y'a 20 000 frameworks et librairies JS qui font ça en encore plus mieux...

Reply

Marsh Posté le 12-12-2006 à 13:41:20    

comme il disait faire du struts....

Reply

Marsh Posté le 12-12-2006 à 14:55:26    

un exemple ? je ne connais que des framework de tri...

Reply

Marsh Posté le 12-12-2006 à 15:01:25    

en plus struts layout post toute la page même pour le tri.... je souhaiterai ne pas poster ma page... une idée ?

Reply

Marsh Posté le 12-12-2006 à 15:02:55    

... visiblement ya des options pour le tri en JS mais ça ne me va toujours pas je souhaite déplacer un élément dans une liste ordonnée...

Reply

Marsh Posté le 12-12-2006 à 15:12:42    

tu veux casser l'ordre ?

Reply

Marsh Posté le 12-12-2006 à 15:29:49    

twingocerise a écrit :

... visiblement ya des options pour le tri en JS mais ça ne me va toujours pas je souhaite déplacer un élément dans une liste ordonnée...

 

Genre ça ?


Message édité par gooopil le 12-12-2006 à 15:30:07
Reply

Marsh Posté le 12-12-2006 à 15:29:49   

Reply

Marsh Posté le 12-12-2006 à 15:44:14    

exactement mais j'ai trouvé une technique, je la poste ici pour vous donner une idée de ce que j'ai fait :
 
function moveRowUp(element) {  (-> ya la meme en moveDown)
 
   myTR = getParentByTagname(element, "TR" );
   var indexEnCours = myTR.rowIndex;
   
   if(indexEnCours > 1) {
 
    var myInputs = myTR.getElementsByTagName("INPUT" );
    myInputs[0].value = myInputs[0].value + 1;
   
    var previousRow = document.getElementById('maTable').rows[indexEnCours - 1];
     
    var myInputsPrevious = previousRow.getElementsByTagName("INPUT" );
    myInputsPrevious[0].value = myInputsPrevious[0].value - 1;
   
    var tmp = myTR.innerHTML;
    document.getElementById('maTable').rows[indexEnCours].innerHTML = previousRow.innerHTML;
    document.getElementById('maTable').rows[indexEnCours - 1].innerHTML = tmp;
   }
   
  }
 
 
On doit pouvoir faire plus joli... mais ça marche !! donc c'est suffisant... si vous avez d'autres idées

Reply

Marsh Posté le 12-12-2006 à 15:45:40    

mon soucis maintenant c'est qu'il ne me garde pas les valeurs saisies dans la page... a chaque fois que je bouge il prend les valeurs d'origines... ça doit etre à cause de mon TR.innerHTML = TR(-1).innerHTML

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed