js中全选和全不选

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>操作复选框</title>
</head>
<body>

<input type="checkbox" id="quan"> 全选<br>
<input type="checkbox" name="aihao">游戏<br>
<input type="checkbox" name="aihao">睡觉<br>
</body>
</html>
<script type="text/javascript">

    window.onload=function () {

        var firstChecbox = document.getElementById("quan");
        var aihao=document.getElementsByName("aihao");
        //完成全选和全不选
        //当单击全选时使下方的checkbox中的checked属性为true
        firstChecbox.onclick=function () {
            //遍历下方的checkbox
            //使每一个复选框的属性中的checked和全选的属性保持一致即可实现(不完善)
            for (let i = 0; i <aihao.length ; i++) {
                aihao[i].checked=firstChecbox.checked;
            }
        }
        //如果选中的数量和爱好的总数量一致的就把全选给选中,否则不全选
        //为每一个aihao绑定单击事件
        var  all=aihao.length;
        for (let i = 0; i < aihao.length; i++) {
            //绑定单击事件
            aihao[i].onclick=function () {
            //定义选中的数量
                var checkedCount=0;
                for (let i = 0; i < aihao.length; i++) {
                //如果爱好选中就把选中的数量+1;
                    if (aihao[i].checked){
                        checkedCount++;
                    }
                    //如果选中的数量和总数相当就把全选给勾选
                    if (checkedCount==all){
                        firstChecbox.checked=true
                    }
                    else{
                        firstChecbox.checked=false;
                    }
                }
            }

        }
    }

</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值