<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"
为什么这样,我怎样才能获得所选条目的文本?
答案 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()
,则会获得选择列表的值,这是其中一个选项的值。