我似乎遇到了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");
现在按预期工作。
答案 0 :(得分:1)
您可以使用jquery select2
获取option:selected
所选值并获取val
<强>的jQuery 强>
$('#select2').select2();
$('#select2').on('change', function(){
alert($("#select2 option:selected").val())
});
您可以结帐DEMO HERE