【问题标题】:Similar to val() but for the selected text in a select multiple? [duplicate]类似于 val() 但对于选择多个中的选定文本? [复制]
【发布时间】:2012-07-19 22:05:35
【问题描述】:

可能重复:
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"

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

【问题讨论】:

    标签: jquery


    【解决方案1】:

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

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

    看到这个:Get selected text from a drop-down list (select box) using jQuery

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-14
        • 1970-01-01
        • 2014-02-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多