复选框单选多选全选功能实现

复选框全选单选多选

先看下代码吧

    {#      全选#}
        var arr = [];
        var uids = [];
        var dic = {};
        //设置每个复选框的name属性,获取到添加该属性的所有input框(不要给全选复选框添加)
        var items = document.getElementsByName("deleteCount"); 
        $('body').on('click', '全选按钮id或者class', function () {
            var flag = $(this).prop('checked');
            if (flag) {
                $('单选框class').prop('checked', true);
                
                for (let i = 0; i < items.length; i++) {
                    let itemStatus = items[i].disabled;
                    if (itemStatus) {
                    } else {
                    //获取选择的id
                        uids.push(items[i].id)
                    }
                   if (items[i].checked) {
                   	 arr.push(items[i].value)
              	  }
                }
                data = JSON.stringify(uids);
                dic['data'] = data;
                //删除
                $('.del1').unbind(); //保留一次点击效果,清楚多次点击
                $('.del1').click(function () {
                    layer.confirm('您是否确认删除所选中的设备?', {
                        btn: ['确认', '取消'] //按钮
                    }, function () {
                        $.ajax({
                        });
                    }, function () {
                        layer.msg('您已取消删除', {icon: 1});
                    });
                });
            } else {
                $('.tab').prop('checked', false);
            }
        });
        
    {#    多选#}
      var items = document.getElementsByName("deleteCount");
        $('body ').on('click', '.tab', function () {
            var arr = [];
            var dic = {};
            //计算选择的个数
            for (i = 0; i < items.length; i++) {
                if (items[i].checked) {
                    arr.push(items[i].id)
                }
            }
            dic['data'] = data;
            if (arr) {
                data = JSON.stringify(arr);
                dic['data'] = data;
                //删除
                $('.del1').unbind();
                $('.del1').click(function () {
                    layer.confirm('您是否确认删除所选中的设备?', {
                        btn: ['确认', '取消'] //按钮
                    }, function () {
                        $.ajax({
                           
                        });
                    }, function () {
                        layer.msg('您已取消删除', {icon: 1});
                    });
                });
            } else {
                $('.tab').prop('checked', false);
            }
        });
	还有一个注意的问题是 多次点击但不提交 导致ajax传值不准确
	解除以前的绑定  实现只提交最后一次
      $('.confirm_update').unbind()

代码很垃圾,但功能实现了

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值