JavaScript练习小案例-----全选按钮

 <style>
        * {
            margin: 0;
            padding: 0;
        }

        .box {
            width: 100px;
            padding: 20px;
            border: 1px solid pink;
            margin: 30px auto;
            border-radius: 5px;
        }

        hr{
            margin: 10px 0;
        }
    </style>
</head>
<body>
    <div class="box">
        全选: <input type="checkbox"> <br>
        <hr>
        <input type="checkbox" >选项一 <br>
        <input type="checkbox" >选项二 <br>
        <input type="checkbox" >选项三 <br>
        <input type="checkbox" >选项四 <br>
    </div>




    <script>
        // 获取元素
        var allBtn = document.querySelector("input");
        var items = document.querySelectorAll("input:nth-child(n+2)")
   
        // 给全选按钮绑定事件
        allBtn.onclick = function(){

            // 拿到自己的选中状态
            var type = allBtn.checked;

            // 把自己的选中状态设置给每一个选项按钮
            for (var i = 0; i < items.length; i++) {
                items[i].checked = type;
            }

        }

        // 循环每一个选项按钮绑定点击事件
        for (var  i = 0; i < items.length; i++) {
           
        // 给每一个选项按钮绑定点击事件
            items[i].onclick = function () {


                  // 首先定义假设变量
                  var flag = true;


                //   通过循环来验证我们的假设
                for (var j = 0; j < items.length; j++) {
                  
                  if (items[j].checked === false) {
                      flag = false;
                      break;
                  }
                    
                }
                

                // 把我们得到的结果设置给全选按钮
                allBtn.checked = flag;
            }

              
           
            
        }
   
   
    </script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值