Changer la valeurs de selectedIndex en cour de route [Résolu]

Signaler
Messages postés
156
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
10 mars 2011
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
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

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>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 ?
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
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
Messages postés
156
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
10 mars 2011

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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
ah????
ton_select.selectedIndex=12;
si tu veux qu'il soit égal à 12
Messages postés
156
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
10 mars 2011

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
Messages postés
156
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
10 mars 2011

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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
nickel si ça baigne, merci du retoru.
j'ai eu du mal à percuter.