在Select2中动态添加选项和optgroup

2021/01/25 21:41 · jquery ·  · 0评论

使用以下html:

<input type='hidden' id='cantseeme'>

我可以轻松地动态创建Select2控件并添加我的选项:

// simplified example
var select2_ary = [];

select2_ary.push({
    id : "one",
    text : "one"
});
select2_ary.push({
    id : "two",
    text : "two"
});

$("#cantseeme").select2({
    placeholder : "Pick a number",
    data : select2_ary
});

但是,我似乎无法弄清楚如何添加optgroups这种方式。在github上找到了这个讨论,在博客上找到了这篇文章,但是前者似乎没有讨论动态optgroup添加,并且我根本无法理解后者。

谁有想法?

我发现答案隐藏在您链接到的github讨论中,其对象结构optgroups如下:

{
  id      : 1,
  text    : 'optgroup',
  children: [{
                id  : 2,
                text: 'child1'
             },
             {
                id      : 3,
                text    : 'nested optgroup', 
                children: [...]
             }]
}

演示小提琴

是的,上面的koala_dev答案是正确的。但是,如果您不希望选项组标头成为可选标签,则从传递给select2的标头中删除“ id”字段。Children []项仍需要一个“ id”字段才能选择。例如:

// `Header One` Is Selectable
[{
    id       : 0,
    text     : "Header One",
    children : [{
        id   : 0,
        text : "Item One"
    }, { 
        ...
    }]
}] 


// `Header One` Is Not Selectable
[{
    text     : "Header One",
    children : [{
        id   : 0,
        text : "Item One"
    }, { 
        ...
    }]
}] 
本文地址:http://jquery.askforanswer.com/zaiselect2zhongdongtaitianjiaxuanxiangheoptgroup.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!