Partage
  • Partager sur Facebook
  • Partager sur Twitter

Remplire lesbalise select de la liste déroulante

est-ce c'est possible avec javascript

    12 mars 2009 à 13:04:12

    Salut
    je tiens à remplire une liste déroulant en utilisant javascript au lieu de php
    voila le code que j'utilise actuellement en php

    Systeme :<select name="sys">
    <?php
    	$system = array(
            array("empty","Systeme machine"),
    	array("dr","Drague"),
    	array("tr","Translation"),
    	array("lv","Levage"),
    	array("or","Orientation"),
    	array("gd","Godet"),
    	array("lub","Circuit Lubrification"),
    	array("pn","Circuit Pneumatique"),
    	array("gr","Circuit de Graissage"),
    	array("fl","Fleche"),
    	array("st","Structure"),
    	array("ch","Chevalet"),
    	array("cab","Cabine")
    );
    
    for($i=0;$i<count($system);$i++)
      {
        echo "<option value=".$system[$i][0].">".$system[$i][1]."</option>" ;
      } 
    ?>
    


    Je veux savoir si c'est faisable avec JS car je tiens à filtrer le choix du système selon la machine choisi
    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      12 mars 2009 à 13:09:43

      Systeme :<select name="sys" id="sys"></select>
      
      <script type="text/javascript">
      window.onload=function() {
      system = [
        ["empty","Systeme machine"],
        ["dr","Drague"],
        ... ... ...
        ["cab","Cabine"]
        ];
      for(var i=0, l=system.length;i<l;i++) {
        document.getElementById("sys").innerHTML += "<option value='"+system[i][0]+"'>"+system[i][1]+"</option>";
      }
      }
      </script>
      


      Je pense que ça donne ça.
      • Partager sur Facebook
      • Partager sur Twitter
        12 mars 2009 à 13:51:50

        je l'ai tester mais ça n'a pas marcher, mais je vais essayer de la modifier
        • Partager sur Facebook
        • Partager sur Twitter
          12 mars 2009 à 20:51:30

          Ca fonctionnait sous FF mais pas IE.

          Voilà un code qui fonctionne sur les deux. (J'ai utilisé le DOM plutôt que innerHTML. C'est plus propre pour ce genre de chose.

          J'ai commenté :

          <div id="test">
          Systeme :<select name="sys" id="sys"></select>
          </div>
          
          <script type="text/javascript">
          window.onload=function() { // Fonction qui s'exécute au chargement
          var system = [ // Création du tableau
            ["empty","Systeme machine"],
            ["dr","Drague"],
            // ... A compléter...
            ["cab","Cabine"]
            ];
          for(var i=0, l=system.length;i<l;i++) { // Une boucle sur le tableau
          	var op = document.createElement("option"); // On crée un élémént <option></option>
          	op.value = system[i][0]; // On remplit l'attribut "value"
          	var txt_op = document.createTextNode(system[i][1]); // On crée un noeud de texte, avec la valeur du tableau
          	op.appendChild(txt_op); // On insère le texte dans l'option
          	document.getElementById("sys").appendChild(op); // On insère l'option dans le select
          }
          }
          </script>
          
          • Partager sur Facebook
          • Partager sur Twitter

          Remplire lesbalise select de la liste déroulante

          × 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