纯JS实现checkbox全选和取消全选

思路

  1. 获取全选按钮及其他按钮组
  2. 全选和取消全选 按钮组的选中状态同全选按钮
  3. 设置一个flag变量,全选按钮的状态为flag 。点击一个按钮时遍历按钮组中所有的按钮状态,按钮组中有一个为未被选中状态,flag = false .反之 flag = true

全部代码

 <body>
    <div>
      <label for="">全选</label>
      <input type="checkbox" name="" id="check_all" />
    </div>
    <div id="check_items">
      <input type="checkbox" />
      <input type="checkbox" />
      <input type="checkbox" />
      <input type="checkbox" />
      <input type="checkbox" />
    </div>

    <script>
      // 1.获取全选按钮及其他按钮组
      var check_all = document.getElementById("check_all");
      var check_items = document
        .getElementById("check_items")
        .getElementsByTagName("input");
      // 2.全选和取消全选  按钮组的选中状态同全选按钮
      check_all.onclick = function () {
        for (var i = 0; i < check_items.length; i++) {
          check_items[i].checked = this.checked;
        }
      };
      // 3.设置一个flag变量,全选按钮的状态为flag 。点击一个按钮时遍历按钮组中所有的按钮状态,
      // 按钮组中有一个为未被选中状态,flag = false .反之 flag = true
      for (let i = 0; i < check_items.length; i++) {
        check_items[i].onclick = function () {
          var flag = true;
          for (let index = 0; index < check_items.length; index++) {
            if (!check_items[index].checked) {
              flag = false;
              break
            }
            break;
          }
          check_all.checked = flag;
        };
      }
    </script>
  </body>
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值