50 votes

Obtenez le texte de l'option sélectionnée avec jQuery

J'ai une boîte de sélection avec quelques valeurs. Comment puis-je obtenir le texte des options sélectionnées, et non la valeur ?

<select name="options[2]" id="select_2">
    <option value="">-- Please Select --</option>
    <option value="6" price="0">100</option>
    <option value="7" price="0">125</option>
    <option value="8" price="0">150</option>
    <option value="9" price="0">175</option>
    <option value="10" price="0">200</option>
    <option value="3" price="0">25</option>
    <option value="4" price="0">50</option>
    <option value="5" price="0">75</option>
</select>

J'ai essayé ça :

$j(document).ready(function(){
    $j("select#select_2").change(function(){
        val = $j("select#select_2:selected").text();
        alert(val);
    });
});

Mais ça revient avec undefined .

70voto

JohnP Points 29302

Fermer, vous pouvez utiliser

$('#select_2 option:selected').html()

23voto

bancer Points 4187
$(document).ready(function() {
    $('select#select_2').change(function() {
        var selectedText = $(this).find('option:selected').text();
        alert(selectedText);
    });
});

Violon

12voto

Björn Points 2063

Changez votre sélecteur en

val = j$("#select_2 option:selected").text();

Vous sélectionnez le <select> au lieu de la <option>

4voto

user1278890 Points 176

Vous pouvez aussi considérer ceci

$('#select_2').find('option:selected').text();

ce qui pourrait être une solution un peu plus rapide, mais je n'en suis pas sûr.

1voto

PRacicot Points 62

Vous pourriez en fait mettre la valeur = au texte et ensuite faire

$j(document).ready(function(){
    $j("select#select_2").change(function(){
        val = $j("#select_2 option:selected").html();
        alert(val);
    });
});

Ou ce que j'ai fait sur un cas similaire était

<select name="options[2]" id="select_2" onChange="JavascriptMethod()">
  with you're options here
</select>

Avec cette deuxième option, vous devriez avoir un indéfini. Dites-moi si cela a fonctionné :)

Patrick

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X