表单的取消和全选

表单的取消和全选

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class=" wrop">
        <table>
            <thead>
                <tr>
                    <th>
                        <input type="checkbox" id="all_cheack"> 
                      </th>
                      <th>
                        标题1
                    </th>
                    <th>
                        标题1
                    </th>
                </tr>            
            </thead>
            <tbody>
                <tr>
                    <td>  <input type="checkbox" class="a_cheack"> </td>
                    <td>手机2</td>
                    <td>手机3</td>
                </tr>
                <tr>
                    <td>  <input type="checkbox" class="a_cheack"> </td>
                    <td>手机2</td>
                    <td>手机3</td>
                </tr>
                <tr>
                    <td>  <input type="checkbox" class="a_cheack"> </td>
                    <td>手机2</td>
                    <td>手机3</td>
                </tr>
            </tbody>
        </table>
       
    </div>
    
</body>
<script>
    // 1.全选和取消全选的做法:让下面所有复选框的checked的属性(选中状态)都跟随全选按钮
    var inp= document.querySelector("#all_cheack")//全选按钮
    var a_inp=document.querySelector("tbody").querySelectorAll(".a_cheack")//给所有复选框
        inp.onclick=function (params) {//全选按钮注册事件
         for (let index = 0; index < a_inp.length; index++) {
           // console.log(this.checked);它可以得到当前复选框的选中状态,true为选中,false为没选中
            a_inp[index].checked=this.checked
        }
        
    }
    //2.下面复选按钮影响上面的,全选按钮  思路:给下面所有的小按钮绑定点击事件,点击后循环查看是否全部选中
    for (let i = 0; i < a_inp.length; i++) {
        //
       
        // 点击点击下面的复选框都要每次查看下面的小按钮是否都被选中
       a_inp[i].onclick=function () {
        var flag=true//控制全选按钮是否被选中
           for (let i = 0; i < a_inp.length; i++) {
             if( !a_inp[i].checked){//如果是false取反就会变成true,就会进入if执行,就说明有的小复选框没有被选中
              flag=false
              console.log("inp.checked1",flag);
             }
               
           }
           inp.checked=flag//赋值全选按钮
           console.log("inp.checked",inp.checked);
       }

        
    }
</script>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值