Select2 jQuery - 如何获取选择框中的文本

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,而不是文本本身。我该怎么办?谢谢。


当你说“它获得文本的ID。它不是文本”时,你的意思是什么?它具体返回了什么? - eliah
2个回答

12

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

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

4
创建了一个用于内部目的的属性,其中存储了一些必要的信息,如实例的、等,这可以用来提取。

Select2社区:每个实例化为组件的元素都必须包含和

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

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

更新:随着的最新版本,对象被存储在一个数组中,因此必须像下面这样访问文本(jsfiddle链接也已经更新)。

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

感谢@DiMono的更新

JSFiddle上的实时演示

愉快的编程 :)


抱歉,但我想在点击按钮时获取文本? - DeLe
@trungkien:嘿,伙计,如果你找到了答案,那就将其标记为答案,这样可以减少未解决的问题的数量 :) - dreamweiver
2
在当前版本的Select2中,您必须使用$(test).select2('data')[0].text代替select2('data'),因为现在select2('data')返回包含对象的数组,而不是对象本身。 - DiMono
谢谢,DiMono。你是唯一一个发布了正确答案的人! - MC9000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接