Ajouter une balise <option> à partir d'un tableau JS

bloomingdals -  
 bloomingdals -
Bonjour,
j'ai réalisé une petite fonction en ajax pour récupérer le contenu d'un "select" html et le traiter dans une requête sql. la fonction retourne un tableau JS.
Je ne sais pas comment exploiter ce tableau pour créer un nouveau menu "select" sur la même page tels que les balises "option" correspondent aux éléments du tableau retourné.
Je voudrais faire quelque chose de ce genre:
<select id="choose2">
while (i<longueur_tableau)
{
   <option> tableau[i] </option>
}
</select>
merci pour votre aide

2 réponses

ElementW Messages postés 5690 Statut Contributeur 1 224
 
<select id="choose2">
</select>
<script>
// J'assumerai ici l'utilisation de HTML5, donc pas de 'type="javascript"'
var tableau = ["a", "b", "c"],
    longueur_tableau = tableau.length,
    i = 0,
    select = document.getElementById("choose2");
while (i<longueur_tableau)
{
    var option = document.createElement("option");
    option.innerHTML = tableau[i];
    select.appendChild(option);
    ++i;
}
</script>
0
bloomingdals
 
je te remercie pour ta réponse, actuellement voilà le code que j'utilise:
 $('#choose').click(function() {
           var choose = $('#choose').val();
            $.ajax({
                      url: "/peers/addr.php",
                      type: "post",
                      data: {choose:choose},
                      success: function(data){
                      var addr = JSON.parse(data);
                      var i = 0; 
                      var select = document.getElementById("choose2");                
                      while (i<addr.length)
                       {   
                           var option = document.createElement("option");
                           select.appendChild(option);
                           i = i + 1;
                       }
                      }
                 });
          });

j'ai remarqué que la taille du select "choose2" augmente à chaque fois que je selectionne un nouvel élément du select "choose" mais le contenu n'apparait pas c'est juste une longue liste blanche
0