Bonjour à tous.
Voilà j'ai un léger petit problème sur lequel je butte depuis un certain temps, étant donné que le Js n'est pas ma tasse de thé.
Je m'explique:
J'ai dans mon formulaire "form" une certaine liste déroulante ou j'ai 10 champs (dont le premier vide).
Je cherche à pouvoir, suivant le champs sélectionné, générer un second "sous menu" déroulant.
Voila mon code php qui génère mon premier menu déroulant:
Sachant que : $nom_select est entré dans la page php avant de créer la liste déroulante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function creaListeDeroulante($tabvaleur,$nom_select,$classe,$ancienne_saisie) { echo "<select name=".$nom_select." class=".$classe." onChange='Choix(this.form)'>"; foreach ($tabvaleur as $Indicetab => $mot_liste) { echo "<option value='".$mot_liste."'"; if ($ancienne_saisie==$mot_liste) echo " selected"; echo ">".$mot_liste."</option>"; } echo "</select>"; }
$ancienne_saisie est le nom du champs stocké dans ma Bdd
$tab_valeur c'est un fichier Php ou j'ai mit les valeurs des tableaux, sous la forme: $t_nom=array ("champs 1","champs2", ...);
Et le code de la fonction JS que j'ai pour l'instant mais qui est loin d'être complet et c'est la que j'ai mes principaux problèmes (j'entends déjà les rires au loin)![]()
Sachant que le "Sous_menu" est le sous menu associé au champs selectionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function Choix(form) { i = form.<? echo $nom_select;?>.selectedIndex; if (i == 0) { return; } switch (i) { case 1 : var txt = new Array ('sous options du champs 1'); break; case 2 : var txt = new Array ('sous options du champs 2'); break; case 3 : var txt = new Array ('sous options du champs 3'); break; etc... } form.<? echo $nom_select;?>.selectedIndex = 0; for (i=0;i<9;i++) { form.Sous_menu.options[i+1].text=txt[i]; } }
J'ai pour l'instant mit un petit menu de test basic (comme on peut le voir dans le switch case),je voudrai déjà reussir à gérer cela avant d'utiliser le même principe d'option que pour le premier menu déroulant.
Bon voilà en gros le problème, c'est assez compliqué à comprendre peut être, je le consoit, mais je suis la pour préciser tous les points qui ont besoin de l'être.
Merci d'avance pour votre aide.
Partager