Select2 - 如何获取optgroup中项目的值?

时间:2015-08-07 08:12:35

标签: jquery jquery-select2

我似乎遇到了Select2的问题,它处于多种模式并从中获取值。

SO上有许多Q& A暗示您可以这样做:

$(selector).select2("val");

获取select2的值。这对我不起作用,只返回"",但我使用

取得了成功
$(selector).select2("data");

然后挑出所选项目。

但是,如果我的列表使用optgroup,那么我无法通过上述任何一种方法从中获取值,从而无法知道该值是什么。

我通过在初始化控件时通过data属性向其传递一个对象数组来填充Select2,例如:

var myArray = [{id: "1", text: "Foo"}, {id: "2", text: "Bar"}];
$(selector).select2({data: myArray});

修改 - 问题已解决

所以基本上我是个白痴。

我在ReactJS中实现Select2控件并将其包装在我们的UI设计者提供的相关元素中。我意识到我将我用作id的选项作为选择器放在父SPAN而不是选择本身。所以当然,在尝试获取值时,它总会返回""

$(selector).select2("val");

现在按预期工作。

1 个答案:

答案 0 :(得分:1)

您可以使用jquery select2获取option:selected所选值并获取val

<强>的jQuery

$('#select2').select2();
$('#select2').on('change', function(){
    alert($("#select2 option:selected").val()) 
});

您可以结帐DEMO HERE