按钮全选和取消全选

 

 

复制代码
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      table {
        width: 500px;
        position: relative;
        margin: 100px auto;
        border-collapse: collapse;
        border: 1px solid #d7d7d7;
      }
      thead tr {
        background-color: #222;
        font-weight: 600;
        color: #e9e9e9;
      }
      tbody tr:hover {
        background: #f5f5f5;
      }
      table tr {
        text-align: center;
        height: 30px;
      }
    </style>
  </head>
  <body>
    <table border="1">
      <thead>
        <tr>
          <td><input type="checkbox" id="cekall" /></td>
          <td>商品</td>
          <td>价钱</td>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><input type="checkbox" name="" id="" /></td>
          <td>iPhone 11</td>
          <td>5999.0</td>
        </tr>
        <tr>
          <td><input type="checkbox" name="" id="" /></td>
          <td>荣耀20</td>
          <td>2299.0</td>
        </tr>
        <tr>
          <td><input type="checkbox" name="" id="" /></td>
          <td>iPhone XR</td>
          <td>4499.0</td>
        </tr>
      </tbody>
    </table>
    <!-- 全选: -->
    <!-- <input type="checkbox" style="width: 50px; height: 25px" id="a_a" /><br />
    <input type="checkbox" id="a_b" /><br />
    <input type="checkbox" id="a_c" /><br />
    <input type="checkbox" id="a_d" /> -->
  </body>
  <script>
    // 1、全选和取消全选做法:让下面所有复选框的 checked属性(选中状态)跟随全选按钮即可
    // 获取元素,获取全选按钮和下面小的复选框
    var cekall = document.getElementById("cekall");
    var inp = document.querySelector("tbody").getElementsByTagName("input");
    // 注册事件
    cekall.onclick = function () {
      // this.checked  可以得到当前复选框的选中状态,如果是 true 就是选中,如果是 false 就是未选中
      console.log(this.checked);
      for (var i = 0; i < inp.length; i++) {
        inp[i].checked = this.checked;
      }
    };
    // 2、下面的复选框要全部选中,上面的全选按钮才能够全部选中,给下面的所有复选框绑定事件,每次点击,都要循环查看下面下面所有的复选框是否有没选中的,如果有没选中的复选框,那么上面的全选按钮就不选中。
    for (var i = 0; i < inp.length; i++) {
      inp[i].onclick = function () {
        // 设置一个变量来控制按钮是否全部选中
        var flag = true;
        // 每次点击下面的复选框都要检查下面的四个小按钮是否被全部选中。
        for (var i = 0; i < inp.length; i++) {
          if (!inp[i].checked) {
            flag = false;
          }
        }
        cekall.checked = flag;
      };
    }
  </script>
复制代码

 

posted @   罗砂  阅读(114)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示