重建时未设置配置选项 - Bootstrap 多选

Configuration Options not set on rebuild - Bootstrap Multiselect

我正在动态添加 select 选项并设置配置选项,然后执行重建。

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

可能是什么问题?

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');
}

或者,您可以 destroy 多选并重新创建它,如下所示:

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'
    });
}