4

我有输入文本

<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。这不是文字。我该怎么做。谢谢

4

2 回答 2

12

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

$('#id').select2('data').text
于 2013-09-20T13:04:25.237 回答
4

Select2为内部目的创建一个data-属性,它是否存储了一些必要的信息,例如id,例如。这可以用来提取。selected valueselect2selected 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

现场演示@JSFiddle

快乐编码:)

于 2013-04-30T13:34:29.930 回答