Sélection dynamique de l'élement d'une liste

Résolu/Fermé
typikal - 14 avril 2008 à 14:02
 typikal - 14 avril 2008 à 15:01
Bonjour,
j'ai créé une fonction javascript qui permet de baisser les éléments d'une liste afin de les positionner commme on le souhaite, j'ai fait la même foncction pour monter un élément.
Après avoir déplacé un élément la fonction doit sélectionner l'élément déplacé afin de pouvoir recommencer la manip sans avoir à resélectionner l'élément.

Mais avec ma fonction baisser() je rencontre des problèmes pour selectionner l'élement baissé automatiquement. Visuelement on voit que le bon élément est selectionné ; mais en réalité quand on clic sur le bouton "Baisser", c'est l'élément qui est au dessus de celui qui est visuelement selectionné qui bouge.

Code :


function baisser (f)
  { 
   var i = f.choix.selectedIndex;
  if(i != null)
  {
	   var j = i+1;
	   var textSel = f.choix.options[i].text;
	   var valSel = f.choix.options[i].value;
	   var textSui = f.choix.options[j].text;
	  		  	
	   f.choix.options[i].text  = textSui;
	   f.choix.options[j].text  = textSel;
 
	   f.choix.options[j].selected = true;
   }



Ce même code fonctionne pour la fonction monter()
il y a juste "var j = i-1", qui change

si vous avez compris mon explication (qui est p.e pas très clair), avez vous un avis sur ce pb?

merci d'avance

1 réponse

Pour ceux que ça pourrai interessé, la solution est la suivantes :
au lieu de cette commande
Code :

f.choix.options[j].selected = true;


pour determiner l'élement à selectionner
il faut utiliser
Code :

f.choix.selectedIndex = j;


avec ce code la selection dynamique de l'élement de la liste fonctionne mieux
3