2009-09-07 6 views
16

Si j'ai cette sélection:Comment obtenir le texte de l'option sélectionnée d'un select en utilisant jquery?

 <select id="days"> 
     <option value="0">Today</option> 
     <option value="1">Yesterday</option> 
     <option value="7">Last week</option> 
    </select> 

et quelqu'un sélectionne la 3ème option la semaine dernière », je peux obtenir la valeur de la semaine dernière (qui est 7), en utilisant $("#days").val(), mais comment puis-je obtenir la valeur du texte c'est-à-dire 'Dernière semaine'?

+0

Je sais que cette question a déjà été posée, mais je ne la trouve pas ... – Joel

Répondre

20
$("#days option:selected").text() 
0

Ajoutez une classe "myOption" aux options et une valeur sttribute avec le texte que vous voulez. Puis:.

$ ("myoption") chaque fonction ((i) {if ($ (this) .attr ('sélectionné')) {$ (this) .attr ('value')})

3

Est-ce que .text() ne vous donne pas le résultat que vous recherchez?

http://marcgrabanski.com/article/jquery-select-list-values - trouvé cela aussi

+0

J'ai essayé '.text()' aussi, mais il me donne une chaîne contenant toutes les options, pas seulement la sélectionnée –

+1

ah oui, vous devez utiliser comme suggère najmeddine et assurez-vous que vous obtenez seulement l'élément sélectionné –

0

peut-être un peu bavard (je suis sûr que Je me souviens d'une façon plus facile ...)

var value = $("#days").val(); 
$("option[value='" + value + "']", "#days").text() 
0

Je préfère utiliser:

var s = $("#days"); 
var i = s.prop("selectedIndex"); //get selected indexs 
s.children().eq(i).text(); 
Questions connexes