javascript - 重建时未设置配置选项 - Bootstrap Multiselect

标签 javascript jquery html twitter-bootstrap bootstrap-multiselect

我动态添加选择选项并设置配置选项,并执行重建。

选项附加得很好,但配置选项集没有得到反射(reflect)。相同的配置选项在初始加载时设置得很好,但在动态附加选项时则不然。

可能是什么问题?

onEvent: function(dt)
{
    $.each(dt.lst, function(ind, ele)
    {
        var htm = '<option value="' + ele + '">' + ele + '</option>';
        $('#myMultiSelectId').append(htm);
    });

    $('#myMultiSelectId').multiselect({
        maxHeight: 300,
        includeResetOption: true,
        resetText: 'Deselect All'
    });

    $('#myMultiSelectId').multiselect('rebuild');
}

最佳答案

Documentation有一个示例明确地将 .multiselect('setOptions', options)rebuild 结合使用来实现此目的,因此请尝试下一个代码:

onEvent: function(dt)
{
    $.each(dt.lst, function(ind, ele)
    {
        var htm = '<option value="' + ele + '">' + ele + '</option>';
        $('#myMultiSelectId').append(htm);
    });

    $('#myMultiSelectId').multiselect('setOptions', {
        maxHeight: 300,
        includeResetOption: true,
        resetText: 'Deselect All'
    });

    $('#myMultiSelectId').multiselect('rebuild');
}

或者,您可以销毁多选并再次创建它,如下所示:

onEvent: function(dt)
{
    $('#myMultiSelectId').multiselect('destroy');

    $.each(dt.lst, function(ind, ele)
    {
        var htm = '<option value="' + ele + '">' + ele + '</option>';
        $('#myMultiSelectId').append(htm);
    });

    $('#myMultiSelectId').multiselect({
        maxHeight: 300,
        includeResetOption: true,
        resetText: 'Deselect All'
    });
}

关于javascript - 重建时未设置配置选项 - Bootstrap Multiselect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53644079/

相关文章:

javascript - 如何设计一个监听 WebSocket 并与 CSS 动画交互的 ReactJS 组件

javascript - 当登录用户为 false 时,React 中的 PrivateRoute 不会重定向

javascript - jQuery - 将 .on 和 .off 用于具有无名函数的事件监听器

jQuery 执行函数一次,窗口调整大小结束后 1 秒

jquery - 两个相同的 jQuery 砌体页面 - 动画、 Angular 标都有不同的行为

html - 创建具有多个边框的按钮

javascript - 我应该避免哪些 ExtJS 3 陷阱?

jquery - bootstrap-select 未选择任何内容

javascript - 使用单击事件为单个循环项添加和删除类

html - 悬停时,悬停下拉菜单不会显示隐藏的元素