类似于val()但是对于选择多个中的选定文本?

时间:2012-07-20 15:38:15

标签: jquery

  

可能重复:
  jQuery get selected text from dropdownlist

<select id="id_deals" name="deals" multiple="multiple">
  <option value="1">deal 2</option>
  <option value="2">deal 1</option>
</select>

使用jquery,我可以得到所选项目的值,如下所示:

var selected = $(e.target).val();

>> 2

但令人惊讶的是,当我尝试获取实际选定的文本(例如交易1)时,它给了我两个条目:

var selected_text = $(e.target).text();

>> "\ndeal 2\ndeal 1\n"

为什么这样,我怎样才能获得所选条目的文本?

2 个答案:

答案 0 :(得分:5)

jQuery“text()”方法返回所选元素的内部文本。在您的情况下,您正在选择整个选择标记,因此它会为您提供其中的所有文本(不包括嵌套标记本身)。相反,使用:

$("#yourdropdownid option:selected").text();

请参阅:Get selected text from a drop-down list (select box) using jQuery

答案 1 :(得分:0)

e.Target包含选择列表!这就是为什么在调用text()时获得两个选项的文本的原因。如果您拨打val(),则会获得选择列表的值,这是其中一个选项的值。