Ajouter une balise <option> à partir d'un tableau JS
bloomingdals
-
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:
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
-
<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> -
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