javascript - 如何以编程方式将选项添加到 selectize.js 中的选项组

标签 javascript selectize.js

我想在 Selectize.js 中向选项组动态添加一个选项。 API只有

addOption(data)
updateOption(value, data)
addOptionGroup(id, data)

对“数据”是什么没有太多帮助。我看过添加选项的示例,但没有提到使用 optionGroups

$('#button-addoption').on('click', function() {
    control.addOption({
    id: 4,
    title: 'Something New',
    url: 'http://google.com'
});

谢谢

最佳答案

Data是传递给optgroup渲染方法的对象。 因此,您可以在其中放入任何东西。

$('#selectize').selectize({
    ...
    optgroupField: 'mygroup',
    render: {
        optgroup_header: function(data, escape) {
            return '<div class="optgroup-header">' + escape(data.a) + escape(data.b) '</div>';
        }
    },
    ...
});

然后,您可以随时在选择中添加组和选项:

//add group
var optGroup = { a: 'fruit', b: ... };
$('#selectize')[0].selectize.addOptionGroup('0', optGroup);

//add option
var option = { value: 'abc', text: 'banana', mygroup: '1'};            
$('#selectize')[0].selectize.addOption(option);

当然,如果你只想要组的标签,你可以这样做:

//code
...
render: {
    optgroup_header: function(data, escape) {
    return '<div class="optgroup-header">' + escape(data) + '</div>';
}
...
//code

$('#selectize')[0].selectize.addOptionGroup('1', 'meat');

你可以看到 API demo (在页面中搜索“Optgroups(程序化)”)。

关于javascript - 如何以编程方式将选项添加到 selectize.js 中的选项组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28241170/

相关文章:

javascript - 在 VueJs 中向非父组件发送数据

javascript - selectize js中旧数据不替换为新数据

c# - 您可以调用 Page.ClientScript.RegisterClientScriptBlock 的绝对最新时间是什么时候?

javascript - JS如何提取对象键

javascript - Highcharts - 仅更改点击列的颜色

ruby-on-rails-3 - 带有jquery.selectize的Capybara集成测试

javascript - 使用 selectize.js 在下拉列表中仅显示三个输入

selectize.js - 使用 Selectize.js 从 SQL 远程加载数据

r - 使用 "SelectizeInput"在 R Shiny Dashboard 侧边栏上生成警告消息

javascript - AngularJS 循环遍历数组(一系列数字)