随笔 - 416  文章 - 0  评论 - 842  阅读 - 273万

功能代码(1)---通过Jquery来处理复选框

实现以下功能:

   1:选中第一个复选框,那么下面所有的复选框都选中,去除选中第一个复选框,下面的都不选中

   2:当点击全选按钮,上面足球.篮球.游泳.唱歌 全部选中

   3:当点击全不选按钮,上面四个全部取消

   4:当点击反选按钮,选中的变没有选中,没有选中变选中

复制代码
 1     <script type="text/javascript" src="jquery-1.8.2.min.js"></script>   //这个是文件,每一次都要看这段代码有没有写
 2    </head>
 3     <body>
 4         <form method="post" action="" >
 5             请选择你的爱好!
 6             <br/>
 7             <input type="checkbox" id="checkAll_2"/>全选/全不选<br/>
 8             <input type="checkbox" name="items" value="足球"/>足球
 9             <input type="checkbox" name="items" value="篮球"/>篮球
10             <input type="checkbox" name="items" value="游泳"/>游泳
11             <input type="checkbox" name="items" value="唱歌"/>唱歌
12             <br/>
13             <input type="button" id="checkAll" value="全选"/>
14             <input type="button" id="checkNo" value="全不选"/>
15             <input type="button" id="checkRev" value="反选"/>           
16             <input type="button" id="send" value="提交"/>          
17         </form>
18         
19         <script type="text/javascript">   
20           //全选
21          $("#checkAll").click(function(){
22             $("input[name=items]").attr("checked","checked");  //$中代表选中在input标签的前提下name属性为items标签,attr代表添加属性
23          });
24         
25         //全不选
26          $("#checkNo").click(function(){
27             $("input[type=checkbox]").attr("checked",null); //$中代表选中在input前提下type为checkbox,把checked为null代表不选中
28          });
29         //反选
30         $("#checkRev").click(function(){
31             $("input[type=checkbox][name=items]").each(function(){ //也可以放多个属性,each这里代表迭代,迭代你选中的所有元素,因为这里满足条件的有四个
32               
33                if(this.checked){  //.checked可以用来判断该复选框是否被选中
34                   $(this).attr("checked",null);
35                }else{
36                  $(this).attr("checked","checked");
37                }   
38             });
39         });    
40         //全选/全不选
41         $("#checkAll_2").click(function(){
42            if(this.checked){  //这里代表如果选中,那么下面所有都选中
43               $("input[type=checkbox][name=items]").attr("checked","checked");
44            }else{
45            $("input[type=checkbox][name=items]").attr("checked",null);
46            }
47         });
48         </script>    
49   </body>
复制代码

思考:33行中的this.checked没有加$(),而34行this为什么加$符号?

理解:如果是this那就代表它是个dom对象,而当你加上$(this)那就说明这就是一个Juery对象。

而.checked是dom对象的方法,.attr是Juery对象的方法。所有当你以后当前对象需要用到dom对象方法就用this,要用Juery对象的方法就用$(this)

posted on   雨点的名字  阅读(519)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

点击右上角即可分享
微信分享提示