SumoSelect onchange清除另一个元素的选项

时间:2019-05-08 14:46:02

标签: jquery drop-down-menu sumoselect.js

我有2个sumoselect下拉菜单(类mrfilter和类mcfilter)。我希望它们像一个或两个一样工作,因此,如果您在一个上选择任何内容,则会清除另一个上的所有选择。

我正在使用这个jquery。

$('.mrfilter').change(function (event) {
    if(ctryreg==""){
        var obj = [];
        $('.mrfilter option:selected').each(function(i) {
            if($(this).val()!='0') { obj.push($(this).val()); }
        });
        if(obj.length>0){
            var num = $('.mcfilter option').length;
            ctryreg = 'reg';
            for(var q=0; q<num; q++){
                $('.mcfilter')[0].sumo.unSelectItem(q);
            }
            ctryreg = '';
        }
    }
});

每次我清除选定的项目时,ctryreg值仅通过其自身的onchange函数阻止其他选择器触发事件​​。

这将按预期方式一次清除其他选择,但是由于某种原因,它也会丢失.mrfilter选择。

如果我注释掉sumo.unSelectItem命令,它将保留.mrfilter选择。如果我没有其他选择要取消选择,那么它也会保留选择。

因此,取消选择其他选项的过程会杀死所需的选择。

尝试使用jquery取消选择代码也不起作用。

有什么想法为什么跨元素取消选择会杀死必需的选择?

0 个答案:

没有答案