zepto全选按钮之全选会根据按钮是否被全部选中更改状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zepto全选按钮之全选会根据按钮是否被全部选中更改状态相关的知识,希望对你有一定的参考价值。

  在做手机端二次开发购物车的时候,发现zepto全选,没找到,或者功能不是自己想要的

  后来做好,分享给需要的人

 

    //全选或多选处理 
    var CheckAll = $(‘#items_check_all‘);
    var checkbox = $(‘input[name^="check"]‘);
    var removeUrl = ‘<{link app=b2c ctl=wap_cart act=remove}>‘;
    
    //初始化,把所有选中的加上状态
    if (CheckAll && checkbox) {
        $(‘.pt-h-item‘).addClass(‘active‘).css(‘background‘,‘#efefef‘);
    }
    
    //全选或全不选
    CheckAll.on("click",function(){
        if (this.checked){
            checkbox.prop(‘checked‘,true);
            //$(‘.pt-h-item‘).addClass(‘active‘).css(‘background‘,‘#efefef‘);
        }else{            
            checkbox.prop(‘checked‘,false);
            //$(‘.pt-h-item‘).removeClass(‘active‘).css(‘background‘,‘#fff‘);    
        }
    });
    
    //单选后反向关联全选按钮
    checkbox.on("click",function(){    
        var flag = true;
        checkbox.each(function(item){
            var parent = $(this).parents(‘.pt-h-item‘);
            if (!this.checked) {
                flag = false;
                parent.removeClass(‘active‘).css(‘background‘,‘#fff‘);
            }else{
                parent.addClass(‘active‘).css(‘background‘,‘#efefef‘);
            }
        })
        if (flag) {
            CheckAll.prop(‘checked‘, true);            
        }else{
            CheckAll.prop(‘checked‘, false);            
        }
    });

以上是关于zepto全选按钮之全选会根据按钮是否被全部选中更改状态的主要内容,如果未能解决你的问题,请参考以下文章

为啥在单击“全选”按钮后,复选框会被选中,然后又被取消选中?

JQuery对checkbox的操作

全选按钮,点击全选,复选框全部选中

js中复选框怎么做全选 但是不全部选中

html,javaScript中怎么控制复选框checkbox的全选,全不选,以及全选中,全选按钮选中,其中一个或者多个没选,则全选按钮不被选中

attr()与prop()之全选反选问题