我有一组 bootstrap-multiselects。我怎样才能避免他们的 'Select All' 选项发生冲突

I have a group of bootstrap-multiselects. How can I keep their 'Select All' option from clashing

我有一组bootstrap-multiselects:

<div id="filter-div" class="text-center">
    <select id="set" class="multiselect" multiple="multiple"></select>
    <select id="subject" class="multiselect" multiple="multiple"></select>
    <select id="demographic" class="multiselect" multiple="multiple"></select>
    <select id="grade" class="multiselect" multiple="multiple"></select>
</div>

然后,我启用它们:

    $('#filter-div select').multiselect({
            includeSelectAllOption: true,
            selectAllValue: 'select-all-value'
    })

然后问题来了:如果我点击其中一个'Select All',其他multiselect上的'Select All'复选框也会被选中(不是所有选项,只是select 全部一个)。

看来我必须为它们中的每一个分配单独的 'select-all-value'。有简单的方法吗?无论是 bootstrap-multiselect 端还是 jQuery 端。

看起来当您单击 "Select All" 时,插件会切换所有带有 selectAllValue 的输入,而不是仅切换 select 中的输入。除非他们更改代码,否则您只能解决它。

可能的解决方法是为每个 selectAllValue 添加一个唯一编号。

$('#filter-div select').each(function(index, value) {
    $(this).multiselect({
        includeSelectAllOption: true,
        selectAllValue: 'select-all-value-' + index
    });
});

JSFiddle

这是一个已经更正的错误,但是 GitHub 上的拉取请求更正尚未合并到 master。 该解决方案仅更改 js 文件中的两行代码: https://github.com/davidstutz/bootstrap-multiselect/pull/753/files