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

可能重复:
jQuery从下拉列表中获取选定的文本

<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 2ndeal 1n"

为什么是这样,我怎么能得到选定的条目的文字?


jQuery的“text()”方法返回所选元素的内部文本。 在你的情况下,你选择了整个选择标签,所以它会给你所有的文本(不包括嵌套标签本身)。 相反,使用:

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

看到这个:使用jQuery从下拉列表中选择文本(选择框)


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

链接地址: http://www.djcxy.com/p/29291.html

上一篇: Similar to val() but for the selected text in a select multiple?

下一篇: Get the value of select tag jQuery