1、我们希望在后台系统实现一个批量删除的操作(全选所有的复选框)和全不选,显示效果如下:

2、步骤分析:

第一步:确定事件(onclick)并为其绑定一个函数(事件绑定到编号前面的复选框里面)

第二步:书写函数(获取编号前面的复选框,获取其状态) 

  获取编号前面的复选框的状态(是否选中)

获取复选框:var checkAllEle = document.getElementById(“id”)

获取复选框的状态:checkAllEle.checked?

第三步:判断编号前面复选框的状态(如果为选中,获取下面所有的复选框,并将其状态置为选中)

  获取下面所有的复选框:

document.getElementsByName(“name”);

第四步:判断编号前面复选框的状态(如果为未选中,获取下面所有的复选框,并将其状态置为未选中)

3、具体代码实现:

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>复选框的全选和全不选</title>
<script>
function checkAll(){
//1.获取编号前的复选框
var checkAllEle=document.getElementById("checkAll");
//2.对编号前面复选框的状态进行判断
if(checkAllEle.checked==true){
//3.获取下面所有的复选框
var checkOnes=document.getElementsByName("checkOne");
//4.对获取的所有复选框进行遍历
for(var i=0;i<checkOnes.length;i++){
//5.拿到每一个复选框,并将其状态视为选中
checkOnes[i].checked=true;
}
}else{
//6.获取下面所有的复选框
var checkOnes=document.getElementsByName("checkOne");
//7.对获取的所有复选框进行遍历
for(var i=0;i<checkOnes.length;i++){
//5.拿到每一个复选框,并将其状态视为未选中
checkOnes[i].checked=false;
}
}
}
</script>
</head>
<body>
<table border="1" width="500" height="50" align="center" >
<thead>
<tr>
<td colspan="4">
<input type="button" value="添加" />
<input type="button" value="删除" />
</td>
</tr>
<tr>
<th><input type="checkbox" onclick="checkAll()" id="checkAll"/></th>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
<tr >
<td><input type="checkbox" name="checkOne"/></td>
<td>1</td>
<td>张三</td>
<td>22</td>
</tr>
<tr >
<td><input type="checkbox" name="checkOne"/></td>
<td>2</td>
<td>李四</td>
<td>25</td>
</tr>
<tr >
<td><input type="checkbox" name="checkOne"/></td>
<td>3</td>
<td>王五</td>
<td>27</td>
</tr>
<tr >
<td><input type="checkbox" name="checkOne"/></td>
<td>4</td>
<td>赵六</td>
<td>29</td>
</tr>
<tr >
<td><input type="checkbox" name="checkOne"/></td>
<td>5</td>
<td>田七</td>
<td>30</td>
</tr>
<tr >
<td><input type="checkbox" name="checkOne"/></td>
<td>6</td>
<td>汾九</td>
<td>20</td>
</tr>
</tbody>
</table>
</body>
</html>

在谷歌浏览器内运行,实现的效果和需求一样,点击第一个复选框下面所有的复选框全部选中,取消第一个复选框下面所有的复选框全部取消。

最新文章

  1. Fibonacci(斐波那契)非递归实现。容易看懂
  2. NOIP2006能量项链[环形DP]
  3. mybatis执行批量更新batch update 的方法
  4. HTML 基础元素
  5. JS能力测评试题
  6. MySQL MyISAM/InnoDB高并发优化经验
  7. C# Http以文件的形式上传文件
  8. mysql 分析3使用分析sql 性能 show profiles ;
  9. 云计算--网络原理与应用--20171122--STP与HSRP
  10. 网站内容js设置 禁止复制,禁止选择
  11. jquery中对小数进行取整
  12. Keyboard Hook API函数 参数说明
  13. 博客主Judge已跳槽搬家emmm
  14. [转]如何将Angular localhost:4200 改为IP
  15. 第一个Sprint第一天
  16. 如何理解并正确使用MySql索引
  17. 8.13Oracle新建用户、角色,授权
  18. java基础——队列
  19. web04-LoginServlet
  20. 【Cf #503 B】The hat(二分)

热门文章

  1. Memcache相关面试题
  2. Zeplin(for Windows)无缝集成到了 Adobe XD
  3. 洛谷P3327 [SDOI2015]约数个数和(莫比乌斯反演)
  4. Safari new Date() 兼容问题
  5. hdu1542 矩形面积并(线段树+离散化+扫描线)
  6. 使用ECharts制作图形时,如何设置指定图形颜色?
  7. kernel zram feature
  8. Centos 6/7 忘记root密码处理方法
  9. BeanUtils(前端赋值给后台,忽略空属性)
  10. Java并发和多线程1:并发框架基本示例