2020-12-30

jQuery中全选按钮的练习
2020-12-30

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>全选练习</title>
    <script src="../js/jquery-1.8.2.min.js"></script>
    <script>
        $(function(){
            //获取全选/不全选的checkbox
            var $chooseAll= $('#chooseAll')
            //获取所有多选框并且name=items的多选框
            var $checkedAll=$(':checkbox[name=items]')
            $('#btn1').click(function(){
                //使得所有的爱好多选框都选中
                $checkedAll.prop('checked',true)
                //当所有爱好多选框都选中的时候全选框也选中
             $('#chooseAll').prop('checked',true)
             })
            $('#btn2').click(function(){
                //使得所有的爱好多选框都不选中
                $checkedAll.prop('checked',false)
                //当所有爱好多选框都不选中的时候全选框也不选中
             $('#chooseAll').prop('checked',false)
            })
            $('#btn3').click(function(){
                //进行遍历所有爱好多选框,
                $checkedAll.each(function(){
                //如果选择则为不选进行反选
                 this.checked=!this.checked;
             })
             //这里对所有的爱好多选框进行过滤,过滤选中的,
             //如果全部选中就过滤掉length===0返回true,有一个没选中就返回false,
             $chooseAll.prop('checked',$checkedAll.filter(':not(:checked)').length===0)
            })
            $('#btn4').click(function(){
                //遍历输出选中就会输出对应的爱好
                $checkedAll.filter(':checked').each(function(){
                     alert(this.value)
             })
            })
            $checkedAll.click(function(){
                //判断在操作爱好的时候是否全选
                 $chooseAll.prop('checked',$checkedAll.filter(':not(:checked)').length===0)
            })
            $chooseAll.click(function(){
                //点击多选框的全选按钮,所的爱好都选中或者全不选中。
                $checkedAll.prop('checked',this.checked)
            })
        })
    </script>
</head>
<body>
    <form action="" method="post" id="form">
        你爱好的运动是?<input type="checkbox" name="chooseAll" id="chooseAll" />全选/全不选
        <br/>
        <input type="checkbox" name="items" id="chooseSoccer" value="足球"/>足球
        <input type="checkbox" name="items" id="chooseBasketball"  value="篮球" />篮球
        <input type="checkbox" name="items" id="chooseBadminto"  value="羽毛球" />羽毛球
        <input type="checkbox" name="items" id="choosePingPong"  value="乒乓球" />乒乓球
        <br/>
        <input type="button" name="" id="btn1" value="全选" />
        <input type="button" name="" id="btn2" value="全不选" />
        <input type="button" name="" id="btn3" value="反选" />
        <input type="button" name="" id="btn4" value="提交" />
        </form>
</body>
</html>
上一篇:Uncaught TypeError: Cannot read property 'checked' of undefined错误解决


下一篇:多选,全选,反选