11548 sujets

JavaScript, DOM et API Web HTML5

Salut @ tous !

J'ai une liste déroulante contenant plusieurs options :
<select id="ma_liste">
    <option value="valeur_1">Texte pour la valeur 1</option>
    <option value="valeur_2">Texte pour la valeur 2</option>
    <option value="valeur_3">Texte pour la valeur 3</option>
    <option value="valeur_4">Texte pour la valeur 4</option>
    <option value="valeur_5">Texte pour la valeur 5</option>
</select>

Je voudrais pouvoir récupérer l'ensemble des textes de la liste ("Texte pour la valeur 1", "Texte pour la valeur 2", ...).
J'ai essayé ceci :
var texte = '';
for(var i = 0; i < $('#ma_liste>option').length; i++)
    {
    texte += $('#ma_liste>option[index=' + i + ']').text();
    }
alert(texte);

Mais ce code ne fonctionne pas.
Merci de m'aider...
Modifié par 6ber6ou (27 Dec 2011 - 17:40)
Bonjour,
je ferais comme ceci:


var opts = new Array();
$('option', '#ma_liste').each(function(){
  opts.push($(this).text());
})

var texte = opts.join(',');

ou à la place de
texte += $('#ma_liste>option[index=' + i + ']').text();


mettre
texte += $('#ma_liste>option').eq(i).text();