js 购物车全选,店铺全选效果

          //设置节点选择状态
            _setNodeStatus = function (flg, nodes) {
                for (var i = 0; i < nodes.length; i++) {
                    nodes[i].checked = flg;
                };
            };
        //全选设置
            _setSelectAll = function (flag) {
                $("#ckbid_selectall")[0].checked = flag;
                $("#ckbid_floatselectall")[0].checked = flag;
            };

            //单选按钮选择
            _selectCheckBox = function (obj) {
                $('body input[type="checkbox"]').click(function (obj) {
                    var curCheckStatus = obj.target.checked;
                    var nodes = null;

                   //判断总金额
                    _isReachDispatching();

                    //全选处理
                    if (obj.target.className.indexOf('ckb_sc_selectall') > -1) {
                        _setSelectAll(curCheckStatus);
                        nodes = $('.ckb_sc_citem');
                        _setNodeStatus(curCheckStatus, nodes);
                        _isReachDispatching();
                        return;
                    };

                    //店铺全选选择处理
                    if (obj.target.className.indexOf('ckb_sc_shop') > -1) {
                        nodes = $(obj.target).parents(".order-body").find(".ckb_sc_gooditem");
                        _setNodeStatus(curCheckStatus, nodes);
                        _isReachDispatching();

                        //未选中,取消全选功能
                        if (!curCheckStatus) {
                            _setSelectAll(false);
                            return;
                        }

                        //选中全部是否全选
                        nodes = $('.ckb_sc_citem');
                        for (var i = 0; i < nodes.length; i++) {
                            //存在节点未选中
                            if (!nodes[i].checked)
                                return;
                        };
                        //设置全选
                        _setSelectAll(true);
                        return;
                    };

                    if (!curCheckStatus) {
                        //未选中,取消全选功能
                        _setSelectAll(false);
                        //未选中,取消店铺全选功能
                        $(obj.target).parents(".order-body").find(".ckb_sc_shop")[0].checked = false;
                        return;
                    };

                    //判断店铺全选是否
                    nodes = $(obj.target).parents(".cart-content").find(".ckb_sc_gooditem");
                    for (var i = 0; i < nodes.length; i++) {
                        //存在节点未选中
                        if (!nodes[i].checked)
                            return;
                    };

                    //设置店铺全选
                    $(obj.target).parents(".order-body").find(".ckb_sc_shop")[0].checked = true;

                    //选中全部是否全选
                    nodes = $('.ckb_sc_citem');
                    for (var i = 0; i < nodes.length; i++) {
                        //存在节点未选中
                        if (!nodes[i].checked)
                            return;
                    };
                    //设置全选
                    _setSelectAll(true);
                });
            };

 

posted @ 2019-04-19 13:57  花影疏帘  阅读(797)  评论(0)    收藏  举报