【问题标题】:Select2 jquery - How to get text in selectboxSelect2 jquery - 如何在选择框中获取文本
【发布时间】:2013-04-30 13:25:03
【问题描述】:

我输入了类似的文本

<input type="hidden" name="xa" id="xa" data-placeholder=".." style ="width: 360px;"/>

我使用 select2

$("#xa").select2({...});

现在,我想在按“获取文本”时获取文本

$("#gettext").click(function () {
    alert($('#xa').val());  // or $('#xa').select2("val");
});

但它得到文本的 id。这不是文字。我该怎么做。谢谢

【问题讨论】:

  • 你说“它得到文本的 id。它不是文本”是什么意思?它到底返回了什么?

标签: javascript jquery jquery-select2


【解决方案1】:

可以通过以下方式获取当前选中项的文本值:

$('#id').select2('data').text

【讨论】:

    【解决方案2】:

    Select2 为内部目的创建一个data- 属性,它是否存储了一些必要的信息,例如select2 实例的id,selected value。这可以用来提取selected value

    Select2 Community :实例化为select2 组件的每个元素都必须包含 id 和 text 键。

    var id = $(test).select2('data').id;

    var seletedVal = $(test).select2('data').text;

    更新:使用最新版本的 Select2 ,对象存储在数组中,因此必须按以下方式访问文本 (jsfiddle link updated as well)。

    $(test).select2('data')[0].text //而不是 $(test).select2('data').text

    感谢更新@DiMono

    Live Demo @ JSFiddle

    快乐编码:)

    【讨论】:

    • 抱歉,我想在单击按钮时获取文本?
    • @trungkien: 嘿伙计,如果你找到了答案,那就把它作为答案,它会减少未决问题的数量:)
    • 在当前版本的 Select2 中,您必须改用 $(test).select2('data')[0].text,因为 select2('data') 现在返回包含对象的数组,而不是对象本身。
    • 谢谢,DiMono。你是唯一一个发布正确答案的人!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    相关资源
    最近更新 更多