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

Similar to val() but for the selected text in a select multiple?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
jQuery get selected text from dropdownlist

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

我可以得到一个jQuery的样本值选定的项目:

1
2
3
var selected = $(e.target).val();

>> 2

但然后,当我试图把选定的文本(例如,实际的交易1),它给我两个。

1
2
3
4
5
6
var selected_text = $(e.target).text();

>>"
deal 2
deal 1
"

这是为什么和如何我得到的文本信息学院选定为好?


jquery"text()"方法返回所选元素的内部文本。在您的例子中,您选择的是整个select标记,所以它提供了其中的所有文本(不包括嵌套标记本身)。相反,使用:

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

请参见:使用jquery从下拉列表(选择框)中获取所选文本


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