Changer la valeurs de selectedIndex en cour de route

Résolu
cs_jzeel
Messages postés
156
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
10 mars 2011
- 13 juil. 2009 à 16:25
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
- 15 juil. 2009 à 18:08
Bonjour à tous,



J'ai un petit problème avec selectIndex, J'ai une page php qui contient deux <form>, chaque <form> contient 1
<select>. le premier form contient un SELECT qui a pour name= type avec 2 options : intérieur et extérieur; Le 2e <form> affiche des options en fonction du choix du 1er <form>. (vor code).



Dans mon code javascript ci-dessous, i = formulaire.form1.selectedIndex;
<script type="text/javascript">
 function Choix(formulaire) {
i = formulaire.form1.selectedIndex;  



etc..
}




Voici le problème:

Si mon usager choisit 'Travaux intérieurs' et qu'ensuite selectionne Armoire mon selectedIndex sera égal à 1 et l'affectera a 'i'. Le PROBLÈME, c'est que si mon usager choisit 'Travaux exttérieurs' et qu'ensuite selectionne Auvent mon selectedIndex sera encore égal à 1 puisque les options reliés au travaux extérieurs ne s'affiche pas.

En réalité, je voudrais que selectedIndex soit egal à 4 pour l'option 'auvent', 5 pour 'Balcons' et 6 pour 'Décorateur extérieur'.




Y a t-il une façon pour qu'en cour de route qu'on puisse changer la valeurs de notre selectedIndex. Merci pour votre aide.






1er  FORM:
<form action ='<? echo $PHP_SELF ?>' id= 'form'> // ici je reload la même page pour l'affichage de la 2e form
  <select class='button' name='type' size='1' onchange="document.getElementById('form').submit()";>
   <option value=" " selected>Choisir un type de service</option>
   <option value="Travaux intérieurs">Travaux intérieurs</option>
   <option value="Travaux extérieurs">Travaux extérieurs</option>
  </select>
</form>





2e FORM:
//Si dans le 1er form on choisi Travaux intérieurs, on affiche une option différentes que si l'utilisateur choisi Travaux extérieurs.

<select name="form1" onChange='Choix(this.form)'>
  <option value="0" selected>Choisir une catégorie</option>
 <? if ($type == 'Travaux intérieurs'){ ?>  
   <option>Armoire</option>
   <option>Portes et fenêtres</option>
   <option>Verrière</option>




 <? } else if ($type == 'Travaux extérieurs'){ ?>


   <option>Auvent</option>
   <option>Balcons</option>
   <option>Décorateur extérieur</option>
 <? }?> 
</select>




 



Jzeel

7 réponses

Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
15 juil. 2009 à 05:26
>>comment faire pour que si je choisit l'option 6, mon selectedIndex
>>soit égal a 12, option 7 selectedIndex sera égal à 13 et ainsi de suite...
ben...
if ( ton_select.selectedIndex>5 )
{ ton_select.selectedIndex+=6; }
ou alors... toujours pas compris ?
3
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
13 juil. 2009 à 16:44
Bonjour,

c'est l'histoire des select liés non ?
le choix dans un 1er select, entraîne des
possibilités différentes dans le 2ème  ?

oui : ch'tiot exemple ici
( soit en javascript, soit en php, voire avec ajax )

l'essentiel : il faut "recréer" le 2ème select

Cordialement [mon Site] [M'écrire] Bul
0
cs_jzeel
Messages postés
156
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
10 mars 2011

13 juil. 2009 à 18:16
Faire des select liés n'est pas le problème, c'est déjà fait... c'est de changer mon selectedIndex en cours de route le problème.

si j'ai un select à 10 options... si je choisit l'option 1, selectedIndex sera égal à 1, si je choisit l'option 5, selectedIndex sera égal à 5 etc. Mais comment faire pour que si je choisit l'option 6, mon selectedIndex soit égal a 12, option 7 selectedIndex sera égal à 13 et ainsi de suite...

Merci pour votre aide!

Jzeel
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
14 juil. 2009 à 08:15
ah????
ton_select.selectedIndex=12;
si tu veux qu'il soit égal à 12
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_jzeel
Messages postés
156
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
10 mars 2011

14 juil. 2009 à 22:11
Oui, je peux affecter une valeur a mon selectedIndex, mais ma question va plus loin,,, c'est non seulement d'affecter un valeur mais que l'incrémentation se fasse à partir de cette valeur si je choisis les <option> suivantes de mon SELECT.

Jzeel
0
cs_jzeel
Messages postés
156
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
10 mars 2011

15 juil. 2009 à 17:33
Et voilà tu as répondu a ma question, je savais que cela devait-être une équation mais je la trouvait pas.

Merci beaucoup pour ton aide et surtout ta patience


Jzeel
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
15 juil. 2009 à 18:08
nickel si ça baigne, merci du retoru.
j'ai eu du mal à percuter.
0