jQuery系列(三):jQuery实现表单【全选】、【全不选】、【反选】、【提交】专刊

1. 全选

//1.全选
$("#btn1").click(function(){
    //#bbffaa
    $("input[type='button']").eq(0).css("background-color","#bbffaa").siblings().css("background-color","#fff");
    //方法1:$(":checkbox").attr("checked",true);
    //或者 推荐方法2:
    var $cc = $(":checkbox");
    $cc.each(function(){
        var ed = this.checked;
        //this表达是DOM风格
        this.checked = true;
    });
});

2. 全不选

//2.全不选
$("#btn2").click(function(){
    $("input[type='button']").eq(1).css("background-color","#bbffaa").siblings().css("background-color","red");
    //方法1:$(":checkbox").attr("checked",false);
    //或者 推荐方法2:
    var $cc = $(":checkbox");
    $cc.each(function(){
        var ed = this.checked;
        this.checked = false;
    });
});

3. 反选

//3.反选
$("#btn3").click(function(){
    $("input[type='button']").eq(2).css("background-color","#bbffaa").siblings().css("background-color","red");
    var $cc = $(":checkbox");
    $cc.each(function(){
        //var ed = this.checked;
        //或者
        var $ed = $(this).attr("checked");  //1个参数是取值  2个参数是赋值
        this.checked = ! this.checked;
    });
});

4. 提交

//4.提交
$("#btn4").click(function(){
    $("input[type='button']").eq(3).css("background-color","#bbffaa").siblings().css("background-color","red");
    var string = "";
    var count = 0;
    var $cc= $(":checkbox");
    $cc.each(function(){
        var ed = this.checked;
        if(ed == true){
            string = string + "\n" + this.value;
            count+=1;
        }
    });
    alert("你一共选择了"+count+"项,具体如下:" + string);
});

* 1-4 完整程序

下面把我完整的程序分享给大家,完全可用,希望仔细研究

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
    <title>选择器练习</title>
    <script type="text/javascript" src="../4.jquery/jquery-3.5.1.js"></script>
    <script type="text/javascript">
    $(function(){
        //1.全选
        $("#btn1").click(function(){
            //#bbffaa
            $("input[type='button']").eq(0).css("background-color","#bbffaa").siblings().css("background-color","#fff");
            //方法1:$(":checkbox").attr("checked",true);
            //或者 推荐方法2:
            var $cc = $(":checkbox");
            $cc.each(function(){
                var ed = this.checked;
                //this表达是DOM风格
                this.checked = true;
            });
        });
        //2.全不选
        $("#btn2").click(function(){
            $("input[type='button']").eq(1).css("background-color","#bbffaa").siblings().css("background-color","red");
            //方法1:$(":checkbox").attr("checked",false);
            //或者 推荐方法2:
            var $cc = $(":checkbox");
            $cc.each(function(){
                var ed = this.checked;
                this.checked = false;
            });
        });
        //3.反选 
        $("#btn3").click(function(){
            $("input[type='button']").eq(2).css("background-color","#bbffaa").siblings().css("background-color","red");
            var $cc = $(":checkbox");
            $cc.each(function(){
                //var ed = this.checked;
                //或者 
                var $ed = $(this).attr("checked");  //1个参数是取值  2个参数是赋值
                this.checked = ! this.checked;
            });
        });
        //4.提交
        $("#btn4").click(function(){
            $("input[type='button']").eq(3).css("background-color","#bbffaa").siblings().css("background-color","red");
            var string = "";
            var count = 0;
            var $cc= $(":checkbox");
            $cc.each(function(){
                var ed = this.checked;
                if(ed == true){
                    string = string + "\n" + this.value;
                    count+=1;
                }
            });
            alert("你一共选择了"+count+"项,具体如下:" + string);
        });
    });
</script>
</head>
<body>
<h1>你最喜欢的动画片是?</h1>
<input type="checkbox" name="items" value="喜羊羊与灰太狼" />喜羊羊与灰太狼<br>
    <input type="checkbox" name="items" value="猪猪侠" />猪猪侠<br>
    <input type="checkbox" name="items" value="龙凤双娃" />龙凤双娃<br>
    <input type="checkbox" name="items" value="淘气包马小跳" />淘气包马小跳<br>
    <br><br>
    <div id="button">
    <input id="btn1" type="button" name="checkedAllBtn" value="全选" />
    <input id="btn2" type="button" name="checkedNoBtn" value="全不选" />
    <input id="btn3" type="button" name="checkedRevBtn" value="反选" />
    <input id="btn4" type="button" name="sendBtn" value="提交" />
    </div>
    </body>
    </html>

关于子选项【全选】按钮的自动匹配问题,也即当我们全部选中各个子选项时,【全选】按钮自动勾选上,当我们任意去掉一个选项时,【全选】按钮自动取消勾选。

5【全选】按钮操作选项

//1.全选框
$("#btn1").click(function(){
    var ck = this.checked;//获取当前按钮状态 (是否选中?)
    $("input[name='items']").attr("checked",ck);
});

6 选项与【全选】按钮的自动状态匹配

//2.全部选择则”全选“按钮被选中,有一个不选,则"全选按钮"就不被选中
$("input[name='items']").click(function(){
    //判断是否全部选中 (动画片总数 == 选中的爱好总数)
    //选项总数
    var alen = $("input[name='items']").length;
    //选中的个数
    var clen = $("input[name='items']:checked").length;
    if(alen==clen){
        $("#btn1").attr("checked",true);
    }else {
        $("#btn1").attr("checked",false);
    }

});

* 5-6 完整程序

下面我把完整程序分享给大家,完全可用,希望自行研究。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
    <title>全选按钮与子项的匹配问题</title>
    <script type="text/javascript" src="../4.jquery/jquery-3.5.1.js"></script>
    <script>
    $(function(){
        //1.全选框
        $("#btn1").click(function(){
            var ck = this.checked;//获取当前按钮状态 (是否选中?)
            $("input[name='items']").attr("checked",ck);
        });
        //2.全部选择则”全选“按钮被选中,有一个不选,则"全选按钮"就不被选中
        $("input[name='items']").click(function(){
            //判断是否全部选中 (动画片总数 == 选中的爱好总数)
            //选项总数
            var alen = $("input[name='items']").length;
            //选中的个数
            var clen = $("input[name='items']:checked").length;
            if(alen==clen){
                $("#btn1").attr("checked",true);
            }else {
                $("#btn1").attr("checked",false);
            }

        });
    });

</script>
</head>
<body>
<h1>你最喜欢的动画片是?</h1>
<input type="checkbox" name="items" value="喜羊羊与灰太狼" />喜羊羊与灰太狼<br>
    <input type="checkbox" name="items" value="猪猪侠" />猪猪侠<br>
    <input type="checkbox" name="items" value="龙凤双娃" />龙凤双娃<br>
    <input type="checkbox" name="items" value="淘气包马小跳" />淘气包马小跳<br>
    <br><br>
    <input id="btn1" type="checkbox" name="checkedAllBtn" value="全选" />全选
    </body>
    </html>
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北溟南风起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值