Partage
  • Partager sur Facebook
  • Partager sur Twitter

liste deroulante en fonction d'une autre

Sujet résolu
    30 décembre 2008 à 19:03:38

    Bonjour

    Je fais un formulaire et je voudrais mettre une liste deroulante representant les regions puis en fonctions de ce qu'es selectionner mettre les departements correspondants mais je vois pas comment faire. Pouvez-vous m'aidez ?

    J'ai vu plusieur script qui utilisai le php mais je peu pas l'utiliser.

    Merci de votre aide
    • Partager sur Facebook
    • Partager sur Twitter
      30 décembre 2008 à 19:07:51

      Pour récupérer le choix du premier select, le plus simple est de lui appliqué l'événement onchange="nom_de_la_fonction(this.value)" qui enverra la valeur choisie en paramètre à la fonction.

      Ensuite dans la fonction, tu fais un gros switch case, et tu remplis le deuxième select comme ça.

      T'as suivi ?

      Essaie de commencer, et dis dès que tu as un souci. :)
      • Partager sur Facebook
      • Partager sur Twitter
        30 décembre 2008 à 19:25:57

        Merci
        Pour le moment j'essaie juste avec les deux premiers
        Voici le script que j'ai fait: le probleme c est qu'il m'affiche tous les departements




        <SELECT name="region" onChange="document.region.(this.value)" >
        <OPTION value="Alsace"> Alsace </OPTION>
        <OPTION value="Aquitaine"> Aquitaine </OPTION>
        </SELECT>

        <SELECT name="departements">
        switch (region) {
        case Alsace :
        {<OPTION value="Bas-Rhin"> Bas-Rhin </OPTION>;
        <OPTION value="Haut-Rhin"> Haut-Rhin </OPTION>;
        break;}
        case Aquitaine :
        {<OPTION value="Dordogne"> Dordogne </OPTION>;
        <OPTION value="Gironde"> Gironde </OPTION>;
        <OPTION value="Landes"> Landes </OPTION>;
        <OPTION value="Lot-et-Garonne"> Lot-et-Garonne </OPTION>;
        <OPTION value="Pyrénées-Atlantiques"> Pyrénées-Atlantiques </OPTION>;
        breack;}
        </select>
        • Partager sur Facebook
        • Partager sur Twitter
          30 décembre 2008 à 20:39:08

          mdr... :lol:
          tu mets ton javascript comme ca en plein milieu sans balises script?
          • Partager sur Facebook
          • Partager sur Twitter
            30 décembre 2008 à 20:58:17

            oui en effet j ai remodifier mais ca marche toujours pas:



            <SELECT name="region" onChange="document.departement=liste.options[liste.selectedIndex].value" >
            <OPTION value="Alsace"> Alsace </OPTION>
            <OPTION value="Aquitaine"> Aquitaine </OPTION>
            </SELECT>

            <SELECT name="departement">
            <OPTION value="dep">
            <script language="javascript">
            switch(departement)
            {
            case "Alsace" :
            {document.write(<OPTION value="Bas-Rhin"> "Bas-Rhin" </OPTION>);
            document.write(<OPTION value="Haut-Rhin"> "Haut-Rhin" </OPTION>);
            break;
            }
            case "Aquitaine" :
            {document.write(<OPTION value="Dordogne"> "Dordogne" </OPTION>);
            document.write(<OPTION value="Gironde"> "Gironde" </OPTION>);
            document.write(<OPTION value="Landes"> "Landes" </OPTION>);
            document.write(<OPTION value="Lot-et-Garonne"> "Lot-et-Garonne" </OPTION>);
            document.write(<OPTION value="Pyrénées-Atlantiques"> "Pyrénées-Atlantiques" </OPTION>);
            break;
            }
            }
            </script>
            </OPTION>
            </select>
            • Partager sur Facebook
            • Partager sur Twitter
              30 décembre 2008 à 21:45:51

              Je te conseille vivement d'apprendre le javascript avant de te mettre à coder en javascript :-°
              Il te faut passer une fonction, pour qu'elle puisse être appelée lors d'un changement dans la première liste :
              <select name="region" onchange="updateSelect(this.value)">
              	<option value="">- - Choisisez - -</option>
              	<option value="Alsace">Alsace</option>
              	<option value="Aquitaine">Aquitaine</option>
              </select>
              
              <select name="departement" id="departement">
              	<option>- - Choisissez une région - -</option>
              </select>
              


              Et la fonction, donc :
              function updateSelect(value){
              	var option = null;
              	switch(value){
              		case 'Alsace':
              			option += '<option value="Bas-Rhin">Bas-Rhin</option>';
              			option += '<option value="Haut-Rhin">Haut-Rhin</option>';
              		break;
              		case 'Aquitaine':
              			option += '<option value="Dordogne">Dordogne</option>';
              			option += '<option value="Gironde">Gironde</option>';
              			option += '<option value="Landes">Landes</option>';
              			option += '<option value="Lot-et-Garonne">Lot-et-Garonne</option>';
              			option += '<option value="Pyrénées-Atlantiques">Pyrénées-Atlantiques</option>';
              		break;
              		default:
              			option += '<option>- - Choisissez une région - -</option>';
              		break;
              	}
              	document.getElementById('departement').innerHTML = option;
              }
              
              • Partager sur Facebook
              • Partager sur Twitter
                30 décembre 2008 à 22:04:14

                Merci c'est sympa ca marche !

                Mais je comprend pas pourquoi on doit passer par une variable option
                • Partager sur Facebook
                • Partager sur Twitter
                  30 décembre 2008 à 23:10:31

                  parce que ca permet de rendre le code plus clair... et donc possible a modifier...

                  PS:ca marchait pas avec ton script d'avant parce que tu utilisait document.write... qi se fait au chargement de la page... or tu veux changer après la fin du chargement.. donc ca faisait pas ce que tu voulais...
                  • Partager sur Facebook
                  • Partager sur Twitter

                  liste deroulante en fonction d'une autre

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown