使用jQuery获取所选选项的文本

时间:2011-06-23 12:31:33

标签: javascript jquery html drop-down-menu jquery-selectors

我有一个带有一些值的选择框。如何获取所选选项文本,而不是值?

<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(document).ready(function(){
    $j("select#select_2").change(function(){
        val = $j("select#select_2:selected").text();
        alert(val);
    });
});

但它会以undefined回来。

5 个答案:

答案 0 :(得分:60)

关闭,您可以使用

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

答案 1 :(得分:15)

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

<强> Fiddle

答案 2 :(得分:8)

将选择器更改为

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

您选择<select>而不是<option>

答案 3 :(得分:0)

您实际上可以将value =放到文本中,然后执行

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

或者我在类似案例中所做的是

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

使用第二个选项,你应该有一个未定义的。 如果有效,请给我反馈:)

帕特里克

答案 4 :(得分:0)

你也可以考虑这个

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

虽然我不确定,但这可能是一个更快的解决方案。