Javascript 单击SelectAllOption multiselect时未触发onChange事件

Javascript 单击SelectAllOption multiselect时未触发onChange事件,javascript,jquery,bootstrap-multiselect,Javascript,Jquery,Bootstrap Multiselect,我使用了引导multiselect,根据所选选项获取数据。触发onChange时,此筛选器数据将起作用,但在尝试选择所有onChange不起作用时: 函数getoptions节点,isFilter{ var isChanged=false; 返回{ enableCaseInsensitiveFiltering:isFilter, includeAlloption:true, filterPlaceholder:“搜索…”, 非选定文本:节点, 显示的数字:1, 按钮宽度:“100%”, 最大高

我使用了引导multiselect,根据所选选项获取数据。触发onChange时,此筛选器数据将起作用,但在尝试选择所有onChange不起作用时:

函数getoptions节点,isFilter{ var isChanged=false; 返回{ enableCaseInsensitiveFiltering:isFilter, includeAlloption:true, filterPlaceholder:“搜索…”, 非选定文本:节点, 显示的数字:1, 按钮宽度:“100%”, 最大高度:400, onChange:函数{ 警惕“变化”; isChanged=true; }, onDropdownHide:函数事件{ 如果我被换了{ filterDatanode; isChanged=false; } } } } $'myselect'。multiselectgetOptions'myselect',true; 选择1 选择2 选择3 选择4 备选案文5 备选案文6
引导multiselect提供一个名为onSelectAll的函数。此功能将用于全选选项。您需要将onSelectAll函数与onChange函数一起使用

function getOptions(node, isFilter) {
var isChanged = false;
return {
    enableCaseInsensitiveFiltering: isFilter,
    includeSelectAllOption: true,
    filterPlaceholder: 'Search ...',
    nonSelectedText: node,
    numberDisplayed: 1,
    buttonWidth: '100%',
    maxHeight: 400,
    onChange: function () {
        isChanged = true;
    },
    onSelectAll: function() {
        isChanged = true;
    },
    onDropdownHide: function (event) {
        if (isChanged) {
            filterData(node);
            isChanged = false;
        }

    }
}
}
$('#DDLCity').multiselect(getOptions('City', true));

Bootstrap multiselect为此提供了一个事件,即onSelectAll。选中“全选”时,需要使用onSelectAll。下面是您的代码中缺少的一段代码:

onSelectAll: function() {
    alert("SELECT ALL");
    isChanged = true;
},
下面是代码的更新工作版本:

函数getoptions节点,isFilter{ var isChanged=false; 返回{ enableCaseInsensitiveFiltering:isFilter, includeAlloption:true, filterPlaceholder:“搜索…”, 非选定文本:节点, 显示的数字:1, 按钮宽度:“100%”, 最大高度:400, onChange:函数{ 警惕“变化”; isChanged=true; }, onSelectAll:函数{ 警报选择全部; isChanged=true; }, onDropdownHide:functionevent{ 如果我被换了{ filterDatanode; isChanged=false; } } } } $'myselect'。multiselectgetOptions'myselect',true; 选择1 选择2 选择3 选择4 备选案文5 备选案文6
很抱歉,现在还不清楚你在问什么,代码的作用是什么,你看到的是什么。请查看和.@T.J.Crowder onChange,即使在使用“全选”选项时未触发,如果您使用可运行的堆栈片段更新您的问题,[]工具栏按钮演示问题,可能会帮助您获得答案。您可以从类似CDN的CDN中添加外部资源引导。然后我们也需要为取消选择添加事件?使用以下代码取消引导multiselect的选择功能。onSelectAll:functione{ife{isChanged=true;}else{isChanged=false;}