[JS] Listes : définir l'élément sélectionné

Listes : définir l'élément sélectionné [JS] - HTML/CSS - Programmation

Marsh Posté le 17-10-2002 à 11:19:48    

Comment faire pour définir l'élément sélectionner d'une liste à partir de la valeur ?  
ex :  
j'ai une liste :  
<select name="test">  
<option value=a>1</option>  
<option value=b>2</option>  
</select>  
par exemple pour que l'index soit placé sur le 2è en fonction de la valeur.  
merci

Reply

Marsh Posté le 17-10-2002 à 11:19:48   

Reply

Marsh Posté le 17-10-2002 à 11:23:21    

<select name="test">  
<option value=a>1</option>  
<option value=b selected>2</option>  
</select>
 
 
Edit: balise code refuse le gras...


Message édité par Toucouch le 17-10-2002 à 11:24:00
Reply

Marsh Posté le 17-10-2002 à 11:24:12    

Toucouch a écrit a écrit :

Code :
  1. <select name="test">
  2. <option value=a>1</option>
  3. <option value=b selected>2</option>
  4. </select>






 :D  
[JS]=JavaScript  ;)  
 
merci

Reply

Marsh Posté le 17-10-2002 à 11:26:48    

misterpinguin a écrit a écrit :

 
 :D  
[JS]=JavaScript  ;)  
 
merci




 
Essaie un truc du genre:

Code :
  1. document.tonFormulaire.test.selectedIndex = 1;


 
Edit: balise code de merde!


Message édité par Toucouch le 17-10-2002 à 11:28:01
Reply

Marsh Posté le 17-10-2002 à 11:31:43    

Toucouch a écrit a écrit :

 
 
Essaie un truc du genre:

Code :
  1. document.tonFormulaire.test.selectedIndex = 1;


 
Edit: balise code de merde!




je fais que ça "essayer des trucs du genres" et je tourne en rond...
 
je récupère qqchose d'une BDD et je veux que l'index soit fonction de cette valeur.

Reply

Marsh Posté le 17-10-2002 à 11:36:12    

Je fais ça en PHP...
 
Au cas où ça te servirait:  
 

<select name="liste">
<? while ($row = mysql_fetch_array($reponse)) { ?>
  <option value="<? echo $row["valeur"]; ?>" <? if (critere) echo "selected"; ?>>
    <? echo $row["libelle"]; ?>
  </option>
<? } ?>
</select>


Message édité par Fred999 le 17-10-2002 à 11:36:30
Reply

Marsh Posté le 17-10-2002 à 11:36:35    

misterpinguin a écrit a écrit :

 
je fais que ça "essayer des trucs du genres" et je tourne en rond...
 
je récupère qqchose d'une BDD et je veux que l'index soit fonction de cette valeur.




Reste cool et détaille un peu plus ton problème... Tu veux faire quoi exactement? A quel moment as-tu besoin d'intervenir sur l'item sélectionné (au chargement de la page, lorsque l'utilisateur fait quelque chose de particulier,...)?

Reply

Marsh Posté le 17-10-2002 à 11:41:16    

En passant, avant de gueuler, je te signale que le code que je t'ai filé fonctionne parfaitement sous IE et sous Moz'...

Reply

Marsh Posté le 17-10-2002 à 11:49:08    

Toucouch a écrit a écrit :

En passant, avant de gueuler, je te signale que le code que je t'ai filé fonctionne parfaitement sous IE et sous Moz'...




je n'ai pas gueulé, et je sais que ton code fonctionne  ;)  
 
mais il sélectionne le numéro de l'option, moi je veux qu'il sélectionne une option en fonction de sa valeur, en la comparant à une autre exemple.
 
pour reprendre mon exemple :
<select name="test">  
<option value=a>1</option>  
<option value=b>2</option>  
</select>  
 
j'ai une variable x contenant une valeur, je veux que l'index soit positionné sur l'option contenant ladite valeur

Reply

Marsh Posté le 17-10-2002 à 11:49:43    

Fred999 a écrit a écrit :

Je fais ça en PHP...
 
Au cas où ça te servirait:  
 

<select name="liste">
<? while ($row = mysql_fetch_array($reponse)) { ?>
  <option value="<? echo $row["valeur"]; ?>" <? if (critere) echo "selected"; ?>>
    <? echo $row["libelle"]; ?>
  </option>
<? } ?>
</select>






le problème est que toutes les données de la liste ne viennent pas de la BDD  ;)

Reply

Marsh Posté le 17-10-2002 à 11:49:43   

Reply

Marsh Posté le 17-10-2002 à 12:04:36    

misterpinguin a écrit a écrit :

 
1. je n'ai pas gueulé, et je sais que ton code fonctionne  ;)  
 
 
2. mais il sélectionne le numéro de l'option, moi je veux qu'il sélectionne une option en fonction de sa valeur, en la comparant à une autre exemple.
pour reprendre mon exemple :
<select name="test">  
<option value=a>1</option>  
<option value=b>2</option>  
</select>  
j'ai une variable x contenant une valeur, je veux que l'index soit positionné sur l'option contenant ladite valeur




1. Ok, pas de léz'...
 
2. Je ne vois qu'une solution, parcourir toutes les valeurs du select:

Code :
  1. function test(val)
  2. {
  3.   for(i=0;i<document.f.s.length;i++)
  4.     if(document.f.s.options[i].value == val)
  5.       document.f.s.selectedIndex = i;
  6. }


Et tu appelles ta fonction test quand tu veux... (testé sur IE et Moz';).

Reply

Marsh Posté le 17-10-2002 à 13:34:40    

misterpinguin a écrit a écrit :

 
le problème est que toutes les données de la liste ne viennent pas de la BDD  ;)  




 
Ca c'est pas grave, tu peux aussi le faire sur une liste fixe :) :??:

Reply

Sujets relatifs:

Leave a Replay

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