JS-案例-Checkbox全选
2015-09-03 12:48
555 查看
//需求: 若 #checkedAll_2 被选中, 则 name=items 的 checkbox 都被选中
//若 #checkedAll_2 取消选中, 则 name=items 的 checkbox 都取消选中
//若 name=items 的 checkbox 都被选中, 则 #checkedAll_2 的 checkbox 也被选中
//若 name=items 的 checkbox 有一个没有被选中, 则 #checkedAll_2 取消选择.
//提示: 事件需要加给 #checkedAll_2, 获取 name=items 的 checkbox 数组
//判断是否被选中, 若被选择, 则 name=items 的 checkbox 都要被选择
//若没有被选择, 则 name=items 的 checkbox 都要取消选择
//根据是否存在 checked 属性来判断是否被选择, 可以使其 checked = true 被选择
//checked = false 取消选择.
//还需要给每个 name=items 的 checkbox 加响应函数
//判断 name=items 的 checkbox 是否都被选中: 选择的个数和总个数是否相等.
//若都被选择: 则使 #checkedAll_2 被选择
//若没有都被选择: 则使 #checkedAll_2 取消选择
实现代码:
//若 #checkedAll_2 取消选中, 则 name=items 的 checkbox 都取消选中
//若 name=items 的 checkbox 都被选中, 则 #checkedAll_2 的 checkbox 也被选中
//若 name=items 的 checkbox 有一个没有被选中, 则 #checkedAll_2 取消选择.
//提示: 事件需要加给 #checkedAll_2, 获取 name=items 的 checkbox 数组
//判断是否被选中, 若被选择, 则 name=items 的 checkbox 都要被选择
//若没有被选择, 则 name=items 的 checkbox 都要取消选择
//根据是否存在 checked 属性来判断是否被选择, 可以使其 checked = true 被选择
//checked = false 取消选择.
//还需要给每个 name=items 的 checkbox 加响应函数
//判断 name=items 的 checkbox 是否都被选中: 选择的个数和总个数是否相等.
//若都被选择: 则使 #checkedAll_2 被选择
//若没有都被选择: 则使 #checkedAll_2 取消选择
实现代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> window.onload = function() { //实现全选,不全选 document.getElementById("checkedAll_2").onclick = function() { var flag = this.checked; var items = document.getElementsByName("items"); for(var i=0;i<items.length;i++) { items[i].checked = flag; } }; //为每一个item增加监听,当所有的复选框被选中 全选框也被选中 var items = document.getElementsByName("items"); for(var j=0;j<items.length;j++) { items[j].onclick = function() { var number = 0; for(var k=0;k<items.length;k++) { if(items[k].checked) { number++; } } document.getElementById("checkedAll_2").checked = (items.length==number); }; } //全选按钮 document.getElementById("CheckedAll").onclick = function() { var items = document.getElementsByName("items"); for(var i=0;i<items.length;i++) { items[i].checked = true; } }; //全不选按钮 document.getElementById("CheckedNo").onclick = function() { var items = document.getElementsByName("items"); for(var i=0;i<items.length;i++) { items[i].checked = false; } }; //反选按钮 document.getElementById("CheckedRev").onclick = function() { var items = document.getElementsByName("items"); for(var i=0;i<items.length;i++) { items[i].checked = !items[i].checked; } }; //提交按钮 document.getElementById("send").onclick = function() { var items = document.getElementsByName("items"); for(var i=0;i<items.length;i++) { if(items[i].checked) { alert(items[i].value); } } }; }; </script> </head> <body> <form method="post" action=""> 你爱好的运动是?<input type="checkbox" id="checkedAll_2" />全选/全不选 <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="乒乓球" />乒乓球 <br /> <input type="button" id="CheckedAll" value="全 选" /> <input type="button" id="CheckedNo" value="全不选" /> <input type="button"id="CheckedRev" value="反 选" /> <input type="button" id="send" value="提 交" /> </form> </body> </html>
相关文章推荐
- Javascript高级程序设计——引用类型
- JS-案例-Select级联选择
- JS-案例-插入节点
- JS-案例-增加和删除节点
- JS-案例-节点交换
- Javascript高级程序设计——执行环境与作用域
- JavaScript进度条(datalist/repeater等多个进度条)
- JSP学习 --- servlet的生命周期
- JavaScript学习笔记5-Javascript的this用法
- JavaScript图片上传前的图片预览功能
- 挑战JavaScript正则表达式每日两题(2)
- js,级联替换(图片)
- JSP笔记――9.Listener介绍
- JSP笔记――8.Filter介绍
- jsp页面第一行报错问题
- JSP笔记――7.自定义标签
- JSP笔记――6.Servlet简介
- JSP笔记――5.九个内置对象
- JSP笔记――4.七个动作指令
- JSP笔记――3.JSP的三个编译指令