如何获取文本而不是值

时间:2011-05-05 18:12:10

标签: javascript jquery

我有这个HTML:

<select class="business_types_select" name="business_type_id">
<option value="0" selected="selected">Select a Business Type</option>
     <option value="54">Bakery</option>
      <option value="55">Tobacco</option>
</select>

如果我选择Bakery然后尝试:

 $(".business_types_select").val()

我得到54,但我怎么得到文本面包店?如果我试试

 $(".business_types_select").text()

我明白了:

" Select a Business Type Bakery Tobacco "

5 个答案:

答案 0 :(得分:11)

尝试:

$(".business_types_select :selected").text()

如果没有这个,.text()的行为就像它应该的那样,这是为了带回该特定类的所有文本。将:selected添加到选择器会将其缩小到您选择的那个。

如果您要经常对其进行操作以提高性能,请记住缓存您的选择器。

答案 1 :(得分:4)

您必须将选择器缩小为选择option

$(".business_types_select").find('option:selected').text();

答案 2 :(得分:2)

this

$(".business_types_select > option:selected").text()

(在这里的简短示例中,我假设只有一个<select class="business_types_select" />。我的jsfiddle示例更全面。)

答案 3 :(得分:1)

$(".business_types_select option:selected").text()

这将仅返回所选选项的文本

答案 4 :(得分:0)

$(".business_types_select").find('option:selected').text();