在一组checkbox中常有这样的需求,选择全选按钮,所有的选项必须全选上,当再次点击时,则所有的按钮必须反选,当点击一组checkbox时,只有有一个不选上,则按钮不选中,当所有的按钮全部选上时,此时全选按钮就选上,具体代码的思路如下:

1:触发全选按钮获取全选按钮的checked布尔值,将全选按钮的全选布尔值传给其他子序列checkbox,从而控制所有的checkbox

2:触发所有子选项checkbox,循环选择所有子选项的checkox布尔状态,当所有的子选项checkbox只要一项不选中时,则全选按按钮布尔值为false,否则全选中,全为true;

 <div class="box">
<label><input type="checkbox" name="checkAll"/><span>全选</span></label>
<label><input type='checkbox' name="items"/>音乐</label>
<label><input type='checkbox' name="items"/>篮球</label>
<label><input type='checkbox' name="items"/>足球</label>
<label><input type='checkbox' name="items"/>排球</label>
<label><input type='checkbox' name="items"/>举重</label>
</div>

 

var checkAllDom = document.querySelector("input[name='checkAll']");
var spanDom = document.getElementsByTagName("span")[0];
var items = document.getElementsByName("items");
checkAllDom.onclick = function(){
var isFlag = this.checked;
checkAll(isFlag);
};
//全选
function checkAll(flag){
if(flag){
for(var i=0;i<items.length;i++){
//debugger;
items[i].checked = true;
}
spanDom.innerText = "全选"
}else{
for(var i=0;i<items.length;i++){
items[i].checked = false;
}
spanDom.innerText = "反选"
}
};
//单选控制
for(var i=0;i<items.length;i++){
items[i].onclick = function(){
var flag = true;//定义一个开关
//alert(this.checked)
for(var i=0;i<items.length;i++){
if(items[i].checked ==false){//只要有一个为false,则为false
flag = false;
console.log(1);
};
if(flag){
checkAllDom.checked = true;
}else{
checkAllDom.checked = false;
}
}; }; }

  对应单选与全选效果如下:

关于checkbox全选与反选的问题的更多相关文章

  1. checkbox全选,反选,取消选择 jquery

    checkbox全选,反选,取消选择 jquery. //checkbox全部选择 $(":checkbox[name='osfipin']").each(function(){ ...

  2. checkbox全选与反选

    用原生js跟jquery实现checkbox全选反选的一个例子 原生js: <!DOCTYPE html> <html lang="en"> <hea ...

  3. checkbox 全选,反选 ,全不选

    在表格或者列表中经常会遇到要全选或者反选等交互,今天总结了一下代码,保留着以后直接拿来用 原理: 1. 全选:当全选checkbox被点击(不管点击之前是什么状态)后,获取其checked状态.然后对 ...

  4. angularjs实现 checkbox全选、反选的思考

    之前做了一周的打酱油测试,其实感觉其实测试也是上辈子折翼的天使. 好长时间没写代码,感觉好多都不会了. 感谢这周没有单休,我能看熬夜看奥运了.我能有时间出去看个电影,我能有时间出去逛个商城,我能有时间 ...

  5. Checkbox 全选、反选

    1.全选.反选 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></t ...

  6. 练习-checkbox 全选 ,反选, 单选,以及取值

    1.方法1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w ...

  7. vue中的checkbox全选和反选

    前几天有个博客园的朋友问小颖,小颖之前写的vue2.0在table中实现全选和反选  .Vue.js实现checkbox的全选和反选,为什么他将里面的js复制下来,但是实现不了全选和反选.小颖当时看他 ...

  8. jquery一键控制checkbox全选,反选,全不选。

    jquery attr()方法获取标签的 checked 会有问题,所以用了 prop() 方法. Hml的checkbox没有加name,只用了 div 嵌套. 如有更好的方法,望指点!! //全选 ...

  9. jQuery使用prop设置checkbox全选、反选

    $(function(){     var checkbox = $("input[type='checkbox']");     //全选     $('#select-all' ...

随机推荐

  1. 百度网盘kbengine - warring项目下载地址

    http://pan.baidu.com/s/1k4J4y 下载解压之后,请看<<使用说明.doc>>,有更新指导

  2. Python的标准输出

    遇到什么就添加到这里来. 首先,是最基本的. print "Number is %d %f %s"%(intA,floatB,stringC) 如果对浮点数的精度有所要求的话,比如 ...

  3. etcd第一集

    网站:https://github.com/coreos/etcd 一些观点:https://yq.aliyun.com/articles/11035 1.etcd是键值存储仓库,配置共享和服务发现2 ...

  4. SSL/TLS算法流程解析

    SSL/TLS 早已不是陌生的词汇,然而其原理及细则却不是太容易记住.本文将试图通过一些简单图示呈现其流程原理,希望读者有所收获. 一.相关版本 Version Source Description ...

  5. cookie 和session 的区别:

    1.cookie数据存放在客户的浏览器上,session数据放在服务器上.2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session.3. ...

  6. ORA-00907: 缺失右括号 整理解决

    ORA-00907: 缺失右括号 前言 最近在开发过程中使用oracle数据库,在程序中进行查询数据时遇到了“ORA-00907: 缺失右括号”的问题,但是如果直接把sql语句直接在数据库或PL/SQ ...

  7. ecstore-lnmp环境下crontab不执行原因

    因为lnmp.org默认禁止了proc_open函数,需要开启 开启后 lnmp restart ==== contab还是用crontab -e好,有些用www用户的似乎执行不了

  8. Android 自定义事件监听器

    当我们自定义View的时候,如果需要返回值,那么就需要自定义一个监听器. 这里用一个自定义的数字选框为例. 首先定义view. 1.新建view,NumberKeyboardView.Java,自定义 ...

  9. SQL分页查询

    假如tb_customer表中的数据量非常大,在显示时要分页显示而且每页只显示10条信息.为了效果我们取第三页的数据. 方法一:遍历两次表,取不同的数据. select top 10 * from t ...

  10. DHTMLX-Grid

    DHTMLX - Grid 介绍 dhtmlxGrid是一个灵活的.易于使用的JavaScript网格组件,可以创建DHTML表与丰富的编辑- sensing,固定的多行页眉和页脚,可调整大小的.可拖 ...