js:复选框, 点击全选 再次点击取消。
1.如题,不是简单的反选,而是奇数点击是全部选中,偶数点击时全不选,如需要反选,注释分隔符之间代码,放出反选代码即可。
2.经IE、firefox、360、opera测试兼容目前主流浏览器,直接复制代码可运行,看着比较多,其实删除注释后没几行。
操作方法
- 01
这是html中代码: <!--总控制 --> <input type="checkbox" id="checkbox" value="1" onclick="check()" /> <!--子复选框 ,注意name一致--> <input type="checkbox" value="${article.id}" name="box" /> <input type="checkbox" value="${article.id}" name="box" /> <input type="checkbox" value="${article.id}" name="box" /> <input type="checkbox" value="${article.id}" name="box" /> <input type="checkbox" value="${article.id}" name="box" /> ......
- 02
js代码如下: <script type="text/javascript"> //复选框onclick事件:点击全选,再次点击全不选 function check(){ //添加外部判断:奇数点击时value为1,全不选,否则全选,如此可以在反选与全选间衍生出极端选择的方案 var checkbox = document.getElementById('checkbox'); //value初始化为1,此处的三目执行后value一定不为1,而页面初始化时checkbox都为未选中状态,所以value为1时全不选 checkbox.value==1?checkbox.value=2 : checkbox.value=1; var checkboxs = document.getElementsByName('box'); for(var i=0; i<checkboxs.length;i++){ //************ if(checkbox.value==1){ checkboxs[i].checked=false;//全不选 }else{ checkboxs[i].checked=true;//全选 } //************ //checkboxs[i].checked?checkboxs[i].checked=false:checkboxs[i].checked=true;//反选 }} </script>