Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création de liste déroulante automatique

    23 juin 2017 à 9:35:36

    Bonjour, je voulais savoir comment faire apparaitre automatiquement une liste déroulante dés lors que la valeur d'une premiére liste déroulante est sélectionner. 

    En gros j'ai une liste déroulante de base qui liste des clients, dés que l'utilisateur clique sur un client, une seconde liste apparait, ainsi de suite. 

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      23 juin 2017 à 15:39:14

      Avec jQuery ou JavaScript tu peut faire ca simplement

      $('select').on('change', function(){
        if ($(this).val() == 'valeur_souhaitee'){
          $('select2').css('display', 'block');
        }
        else if(...){
          ect...
        }
      });





      -
      Edité par Anonyme 23 juin 2017 à 15:40:46

      • Partager sur Facebook
      • Partager sur Twitter
        23 juin 2017 à 15:43:55

        Je suis vraiment nul en JS, j'ai chercher vite fait mais tu sais si il y a un plugin jquery qui existe déjà pour faire sa ?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          23 juin 2017 à 15:49:59

          jQuery est une bibliothèque de javascript

          Pour intégrer jQuery sur ta page tu met ceci dans ta balise <head> :

          <script src="https://code.jquery.com/jquery-3.2.1.js"></script>


          ensuite avant </body> tu met ton code :

          <script>
          $('select').on('change', function(){
            if ($(this).val() == 'valeur_souhaitee'){
              $('select2').css('display', 'block');
            }
            else if(...){
              ect...
            }
          });
          </script>

          Et après je te conseille de lire ceci :

          https://openclassrooms.com/courses/apprenez-a-coder-avec-javascript

          https://openclassrooms.com/courses/simplifiez-vos-developpements-javascript-avec-jquery

          Tu vas voir c'est facile ;)

          -
          Edité par Anonyme 23 juin 2017 à 15:50:28

          • Partager sur Facebook
          • Partager sur Twitter
            23 juin 2017 à 15:54:12

            Bonjour, 

            Si j'ai bien compris ce que tu veux, cela pourrai ressembler à cela si tu n'a pas trop de choix possibles.

            <?php 
            		// si la valeur selectionnée est choix2 on affiche le deuxième select
            		if(isset($_POST['select1']) && $_POST['select1'] == 'choix2'){
            			echo"
            				<select name="select2">
            					<option> choix 1</option>
            					<option value="choix2"> choix 2</option>
            				</select> ";
            		}		
            		?>
            	<!-- afficher le premier select -->			
            	<form method="post" action="">
            		<select name="select1">
            			<option> choix 1</option>
            			<option id="choix2"> choix 2</option>
            		</select>
            	</form>

            Sinon, si tu as beaucoup de cas possible. je te conseil de le faire en JQuery.

            	<!-- afficher le premier select -->			
            	<form method="post" action="">
            		<select name="select1" id="select1Id">
            			<option> choix 1</option>
            			<option id="choix2"> choix 2</option>
            		</select>
            			<!-- deuxieme select non affiché par défaut -->	
            		<select name="select2" style="display:none">
            					<option> choix 1</option>
            					<option value="choix2"> choix 2</option>
            		</select>
            		
            	</form>
            	<script language="text/javascript">
            	if(	$("#select1Id").val() == 'choix2' ){
            		//afficher select 2
            		$("#select1Id").remove('style');
            	}			
            	</script>




            • Partager sur Facebook
            • Partager sur Twitter
              23 juin 2017 à 16:00:35

              forum92 a écrit:

              Bonjour, 

              Si j'ai bien compris ce que tu veux, cela pourrai ressembler à cela si tu n'a pas trop de choix possibles.

              <?php 
              		// si la valeur selectionnée est choix2 on affiche le deuxième select
              		if(isset($_POST['select1']) && $_POST['select1'] == 'choix2'){
              			echo"
              				<select name="select2">
              					<option> choix 1</option>
              					<option value="choix2"> choix 2</option>
              				</select> ";
              		}		
              		?>
              	<!-- afficher le premier select -->			
              	<form method="post" action="">
              		<select name="select1">
              			<option> choix 1</option>
              			<option id="choix2"> choix 2</option>
              		</select>
              	</form>

              Sinon, si tu as beaucoup de cas possible. je te conseil de le faire en JQuery.

              	<!-- afficher le premier select -->			
              	<form method="post" action="">
              		<select name="select1" id="select1Id">
              			<option> choix 1</option>
              			<option id="choix2"> choix 2</option>
              		</select>
              			<!-- deuxieme select non affiché par défaut -->	
              		<select name="select2" style="display:none">
              					<option> choix 1</option>
              					<option value="choix2"> choix 2</option>
              		</select>
              		
              	</form>
              	<script language="text/javascript">
              	if(	$("#select1Id").val() == 'choix2' ){
              		//afficher select 2
              		$("#select1Id").remove('style');
              	}			
              	</script>

              Je me suis peut-être mal exprimé mais là, tu ne crée que deux liste déroulante ? Il serait pas possible de faire en sorte que sa while tant qu'une valeur est saisi ça crée une nouvelle liste déroulante ? 



              -
              Edité par datsid 23 juin 2017 à 16:04:42

              • Partager sur Facebook
              • Partager sur Twitter
                27 juin 2017 à 13:44:00

                Bonjour , 

                Un while est possible comme ceci .... même si je ne comprends toujours pas  ce qu tu souhaite faire...

                ps : la méthode en jQuery peut s'appliquer pour autant de select que tu le souhaites.

                <?php 
                $i=0;
                while ( ..... ) {
                	echo '
                     <!-- deuxieme select non affiché par défaut -->  
                    <select name="select'.$i.'" style="display:none">
                                <option> choix'.$i.'</option>
                                <option value="choix'.$i.'"> choix'.$i.'</option>
                    </select>
                	':
                $i++;
                }
                ?>	



                • Partager sur Facebook
                • Partager sur Twitter

                Création de liste déroulante automatique

                × 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