1、示例1:

<form>
你最爱好的运动是?
<input type="checkbox" id="CheckedAll"/>全选<br/>
<input type="checkbox" id="CheckedNo"/>全不选<br/>
<input type="checkbox" id="CheckedRev"/>反选<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="乒乓球"/>乒乓球
<input type="button" id="send" value="提交"/>
</form>

全选:
$("#checkAll").click(function(){
  $.("[name=items]: checkbox").attr("checked",true);
})

全不选:
$("#checkAll").click(function(){
  $.("[name=items]: checkbox").attr("checked",false);
})

反选:
$("#checkRev").click(function(){
  $.("[name=items]: checkbox").each(function(){
    $(this).attr("checked",!$(this).attr("checked"));
  })
})
JS原生的DOM方法比创建jQuery对象更为有效、简洁,简化后代码如下:
$("#checkRev").click(function(){
  $.("[name=items]: checkbox").each(function(){
    this.checked=!this.checked;
  })
})

2、示例2:

<form>
你最爱好的运动是?
<input type="checkbox" id="CheckedAll"/>全选/全不选<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="乒乓球"/>乒乓球
<input type="button" id="send" value="提交"/>
</form>

单击id为"CheckedAll"复选框后,复选框组被选中,当复选框组中有一个或者更多没有被选中时,则需要取消id为"CheckedAll"的选中状态,有如下方法实现:
a)设置一个全选中/未全选中标志位,根据标志位设置"CheckedAll"复选框选中状态
  $("[name=items]:checkbox").click(function(){
    var flag = true;
    $("[name=items]:checkbox").each(function(){
      if(!this.checked){
        flag = false;
      }
    });
  $("#CheckAll").attr("checked",flag);
})

b) 判断复选框的总数是否与选中的复选框数量相等
$("[name=items]:checkbox").click(function(){
  var $temp = $("[name=items]:checkbox");
  $("#CheckAll").attr("checked",$temp.length==$temp.filter(":checked").length);
})

最新文章

  1. 命令行查看Windows激活信息(win7、win8、win10...)
  2. Kooboo CMS - Html.FrontHtml.Position 详解
  3. Android ant自动打包 crunch 报错
  4. 关于SQL表联接
  5. 1045: [HAOI2008] 糖果传递 - BZOJ
  6. jtree(选择框)
  7. 【SEO 决胜网络索引】 课程大纲及第一部分第一课:网络营销战略中的索引
  8. Python之tkinter:调用python库的tkinter带你进入GUI世界(一)——Jason niu
  9. python连接Linux命令行
  10. Python——socketserver编程(客户端/服务器)
  11. centos7 安装部署jenkins
  12. adb 查看包名或其他
  13. PHP批量导出数据为excel表格
  14. ubuntu 下关闭apache服务自动启动
  15. opencv3寻找最小包围矩形在图像中的应用-滚动条
  16. 关于linux-centos7 安装完成git后npm突然无法使用问题处理
  17. 关于java web的笔记2018-01-12
  18. vue踩坑之旅 -- computed watch
  19. 导出ppt中所有文本框
  20. Spring学习之-各注解的含义总结

热门文章

  1. &lt;魔域&gt;按键精灵脚本
  2. Eclipse卡顿,内存猛增解决方案
  3. [国嵌攻略][137][DM9000网卡驱动编程]
  4. ES6中promise的使用方法
  5. 空数组在以下三种遍历中均不可更改:forEach、map和for...in
  6. 把VueThink整合到已有ThinkPHP 5.0项目中
  7. dedecms中{dede:myad name='about'/} 修改内容
  8. win7系统如何在防火墙里开放端口
  9. ThinkPhp_5框架开发【指导】
  10. 将js进行到底:node学习笔记2