【JavaScript小练习3】全选练习

1.4.4 全选 练习

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title></title>
</head>
<style>
</style>
<body>
    <form method="post" action="">
        你的爱好的运动是?<input type="checkbox" id="checkAllBox" />全选/全不选
        <br/>
        <input type="checkbox" name="items" value="足球"/>足球
        <input type="checkbox" name="items" value="篮球"/>篮球
        <input type="checkbox" name="items" value="羽毛球"/>羽毛球
        <input type="checkbox" name="items" value="乒乓球"/>乒乓球
        <br/>
        <input type="button" id="checkAllBtn" value="全选"/>
        <input type="button" id="checkNoBtn" value="全不选"/>
        <input type="button" id="checkRevBtn" value="反选"/>
        <input type="button" id="sendBtn" value="提交"/>
    </form>
       

    

</body>
<script>
    var myclick = function (btn,fun){
        var btn = document.getElementById(btn);
        btn.onclick = fun;
    }
    var item = document.getElementsByName("items");

    //1.#checkedAl1Btn  全选
    myclick("checkAllBtn",function(){
        var allCheck = document.getElementsByName("items");
        for(var i=0;i<allCheck.length;i++)
            allCheck[i].checked=true;
        checkAllBox.checked=true; //6
    });
    //2.#checkedNoBtn  全不选
    myclick("checkNoBtn",function(){
        var allNoCheck = document.getElementsByName("items");
        for(var i=0;i<allNoCheck.length;i++) 
            allNoCheck[i].checked = false;
        checkAllBox.checked=false;//6
    });
    //3.#checkedRevBtn 反选
    myclick("checkRevBtn",function(){
        var RevBtn = document.getElementsByName("items");
        for(var i=0;i<RevBtn.length;i++) 
            RevBtn[i].checked = (RevBtn[i].checked?false:true);
        checkAllBox.checked=true; //6
        checkAllBox.checked=true; //6
    });
    //4.#sendBtn  提交
    myclick("sendBtn",function(){
        for(var i = 0; i<item.length;i++){
            if(item[i].checked)alert(item[i].value);
        }
    });

     //5.#checkedA11Box  <全选、全不选> 勾选框
        var checkAllBox = document.getElementById("checkAllBox");
        checkAllBox.onclick = function(){
            if(checkAllBox.checked){
            for(var i=0;i<item.length;i++)
                item[i].checked = true;
            }
            else{
                for(i=0;i<item.length;i++)
                    item[i].checked = false;
            }
        };
    //6.items   5的加强,其他框全选或全不选,会作用到<全选/全不选>上
            for(var i=0;i<item.length;i++){
                item[i].onclick = function(){
                    var temp=0;
                    for(var j=0;j<item.length;j++){
                        if(!item[j].checked){
                            checkAllBox.checked=false;
                            temp=0;
                            break;
                        }
                        temp++;
                    
                    if(item[j].checked)checkAllBox.checked=true;
                    }
                
                }
            }

</script>
</title>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值