2010-11-13 6 views
2

J'ai une liste déroulante. Comment puis-je obtenir l'option sélectionnée, pas la valeur mais innerHTML. Je veux CO de l'exemple. Ce alert($('#mydropdown').val()); me donne la valeur 1 mais je ne veux pas ça.jquery valeur sélectionnée dans le menu déroulant

<select name='mydropdown' id='dd'> 
<option value=1 selected>CO</option> 
<option value=2>CA</option> 

<option value=3>TX</option> 

</select> 

Répondre

6
$('#dd :selected').text(); 

Notez que l'utilisation #, vous choisissez par ID. L'ID de votre élément est dd, et non mydropdown.

Si vous deviez le faire avec javascript, vous voudriez que votre attribut name corresponde à l'attribut id afin de gérer les bogues IE.

<select name='dd' id='dd'> 
    ... 
</select> 

js

var select = document.getElementById('dd') 
select.options[select.selectedIndex].text; 
+0

merci! Je l'apprécie – Autolycus

+0

@user - De rien. : o) – user113716

+1

Grande réponse, surtout pour la partie JS pure. Encore mieux, HTML5 nous donnera 'select.selectedOptions [0]' - on peut rêver, n'est-ce pas ?! – lonesomeday

3
$("#dd").val(); 

C'est tout ce que vous devez faire.

+0

John, OP voulait le contenu du texte, pas l'attribut de la valeur. Cela fonctionnerait pour obtenir le texte, seulement si les 'options' n'ont pas de valeur. – user113716

+0

Mal lu entièrement. Mon erreur. =) – John

Questions connexes