Partage
  • Partager sur Facebook
  • Partager sur Twitter

Affiche un résultat selon la sélection

Sujet résolu
    10 novembre 2010 à 23:29:13

    Bonsoir,

    Je bute sur un petit problème, j'ai un bout de code avec une liste déroulante comme ceci

    <select name="cycle">
         <option value="choix1">choix1</option>
         <option value="choix2">choix2</option>
         <option value="choix3">choix3</option>
         <option value="choix4">choix4</option>
    </select>
    


    Et j'aurai voulu quand je choisi par exemple le choix2 sa m'affiche :
    <input name="choix2detaille" type="checkbox" value="1">, et si je choisi le choix4 sa m'enlève "<input name="choix2detaille" type="checkbox" value="1">" et se remplace par :
    <input name="choix4detaille" type="checkbox" value="1">

    Je pense que sa se fait en javascript.

    Espérant de m'avoir bien expliquer :( en tout les cas merci pour votre aide. ;)
    • Partager sur Facebook
    • Partager sur Twitter
      10 novembre 2010 à 23:37:26

      Effectivement c'est du Javascript, mais ça fait un peu demande de script la :-° .

      Le principe qui je pense collerait serrait de crée un input s'il n'existe pas déjà lors de la sélection.
      Et selon la valeur de l'option, changer l'attribut "name" de l'input.

      En résumé :

      Un onchange=maFonction(this) sur le select, une fonction qui récupère l'index (liste.options[liste.selectedIndex].value).
      Un createElement('input') , un petit changement de class par rapport à la valeur précédente, et sa devrait être bon :D .

      Edit : évidemment si t'as jamais fais de Javascript sa va t'aiguillonner mais tu risque de galérer :-° .
      • Partager sur Facebook
      • Partager sur Twitter
        10 novembre 2010 à 23:49:13

        Merci pour ta réponse, effectivement je vais galérer puisque j'en ai jamais fait :(
        • Partager sur Facebook
        • Partager sur Twitter
          10 novembre 2010 à 23:57:25

          Allez pour le plaisir (mais pas tous les jours hein :-° ) :

          <div id="ensemble">
          <select name="cycle" onchange="myFunction(this)">
               <option value="choix1">choix1</option>
               <option value="choix2">choix2</option>
               <option value="choix3">choix3</option>
               <option value="choix4">choix4</option>
          </select>
          </div>
          


          function myFunction(liste){
          	var sValue = liste.options[liste.selectedIndex].value,
          	    source = document.getElementById('input');
          
          	if(!source){
          		source = document.createElement('input');
          		source.id = 'input';
          		document.getElementById('ensemble').appendChild(source);
          	}
          	
          	source.name = sValue;
          }
          


          Ps: sa crée un input dans "l'ensemble" s'il n'existe pas, et change son "name" selon la sélection.
          Ps2: oubli pas de mettre en résolut :) .
          • Partager sur Facebook
          • Partager sur Twitter

          Affiche un résultat selon la sélection

          × 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