2010-09-08 5 views
1

Comment écrire la valeur équivalente de cela dans Jqueryce qui est l'équivalent de ce javascript JQuery

document.getElementById("selectbox"). 
options[document.getElementById("selectbox").selectedIndex].innerText; 
+1

Est-ce que ce sont les devoirs ...? – Tomalak

+4

Devoirs pour un sujet qui enseigne jQuery? Cette école doit être plutôt géniale. – BoltClock

+0

@Bolt: La question semble si académique et construit, je devais juste demander. Quand dans la vraie vie viendriez-vous avec cette question particulière? – Tomalak

Répondre

9

simple:

$('#selectbox option:selected').text(); 
+1

Le sélecteur d'enfant est superflu - les éléments sélectionnés ne peuvent pas être imbriqués. :) – Tomalak

+0

@Tomalak: bien, je l'ai mangé maintenant. – BoltClock

4

Comme ceci:

$('#selectbox option:selected').text(); 

Pour obtenir un événement change, vous pouvez faire comme ceci:

$('#selectbox').change(function(){ 
    alert($('option:selected', $(this)).text()); 
}); 
5

Vous voulez sélectionné l'<option> sélectionné dans le <select id="selectbox"> tag et obtenir son texte:

$('#selectbox option:selected').text() 

Parce que le selectbox ne peut pas contenir quoi que ce soit vraiment mais options, vous pouvez omettre cette partie:

$('#selectbox :selected').text() 
0

L'exemple Javascript d'OP est inutilement répétitif et complexe. Il montre clairement Javascript sous un mauvais jour par rapport à jQuery alors qu'en fait il devrait être plus simple et plus concis. Ce n'est vraiment pas quelque chose que jQuery devrait être utilisé.

document.getElementById('selectbox').value; 

Était-ce si difficile? Avec la référence de l'élément stocké dans une variable qu'il serait aussi simple que cela

selectbox.value; 

Et A titre de comparaison, le code jQuery

$('#selectbox').val(); 

OMI le Javascript simple est plus facile à lire, direct, et certainement plus performant .

Je ne considérerais guère cette question comme un exemple de code si trivial; il n'implique pas la traversée de DOM et n'a pas de problèmes de compatibilité croisée avec le navigateur, qui sont les principales choses pour lesquelles jQuery a été conçu pour répondre. Donc ce que je veux dire, c'est que je ne suis pas vraiment sûr ...

+0

Ceci est incorrect. Le Javascript de l'OP affiche le texte des balises 'option', pas sa valeur. Voir http://jsfiddle.net/VhRBd/1/. Vos versions Javascript et jQuery sont équivalentes, mais elles ne correspondent tout simplement pas à ce qui était demandé. –