如何使用jquery和select2获取所选optgroup的值?

时间:2015-04-28 21:05:34

标签: javascript jquery jquery-select2

我使用select2作为选择框并使<optgroup>可选,但是当我选择它时我无法获得该值。 当您输入选项组名称时,获取<optgroup>的所有选项非常重要,因此我无法用<optgroup>替换<option>

参见jsfiddle示例http://jsfiddle.net/iptspl/41r158dm/1/

1 个答案:

答案 0 :(得分:0)

您可以尝试在事件上使用choice值(如果存在),然后检查children,然后合并它们的值。

on("select2-selecting", function(e) {
   var value, choice = e.choice; 
   if(choice.children && choice.children.length > 0) {
        value = [];
        $(choice.children).each(function(index, child) {
            value.push($(child.element).val());
        });
        value = value.join(",");
   } else {
        value = e.val;
   } 
   alert(value);
});

无论如何,无论你做什么,你很可能需要做类似的事情,如果它是optgroup则检测它,然后遍历子项并创建值。