java做全选反选功能_[Java教程]js实现全选反选

这篇博客介绍了如何使用JavaScript实现全选和反选功能。通过获取控制总选择状态的input标签,将每个input标签存储到数组中,并为控制全选的input添加点击事件,动态改变所有input的状态。同时,当任意input被取消选中时,会更新全选按钮的状态。示例代码清晰易懂,适合前端开发者参考。
摘要由CSDN通过智能技术生成

[Java教程]js实现全选反选

0 2017-04-04 00:00:12

在前端中用到全选反选的案例并不少,在这里呢我就实现这个功能给大家参考参考。

这里呢就先贴上我的html和css代码

快递收件人电话
顺丰张大大186*****897
韵达张全蛋186*****897
圆通韩非186*****897
中国邮政卫庄186*****897

这是html部分的,下面呢,我附上css部分的代码:* { padding: 0; margin: 0; } .wrap { width: 300px; margin: 100px auto 0; } table { border-collapse: collapse; border-spacing: 0; border: 1px solid #c0c0c0; width: 300px; } th, td { border: 1px solid #d0d0d0; color: #404060; padding: 10px; } th { background-color:rgb(51, 199, 18); font: bold 16px "微软雅黑"; color: #fff; } td { font: 14px "微软雅黑"; } tbody tr { background-color: #f0f0f0; } tbody tr:hover { cursor: pointer; background-color: #fafafa; }

展示出来的布局是这样的:

bc91bb04e6e9c61e24c974e4440db8f2.gif

好了,下面我们就开始讲重点把,做之前的呢,一定要理清思路,只有理清思路的才能好下手做啊

我们要通过点击第一个input标签来改变所有input标签的选择状态,

1.首先要获取到控制总选择状态的input标签,我们命名为inputAll

2.然后把每个input标签存到一个数组中去,我们命名为icheck

3.点击inputAll来改变状态,并且让icheck里面的input能跟着他的状态来变化

代码如下:window.onload = function() { //先获得控制全选反选的input标签 var inputAll = document.getElementById("theadInp"); //获得tbody var tbody = document.getElementById("tbody"); //获得天tbody里面的子元素 var icheck = tbody.getElementsByTagName("input"); console.log(icheck); //给控制全选反选的input标签绑定事件 inputAll.onclick = function() { //遍历tbody里面的input标签,把inputAll的状态赋值给icheck for(var i = 0; i < icheck.length; i++) { icheck[i].checked = this.checked; } }

上面都有写注释,大家肯定都能看的懂的,也没难点,就不需要解释了。

看下面:

bc91bb04e6e9c61e24c974e4440db8f2.gif

以为这样就结束了事了吗?然而并没有。里面还是有个小问题的,就是当下面的input有一个以上没选中的时候,那么inputAll的状态也必须要跟着变化,总不能只让人家听他一个人的话吧,这就太不像话了。for(var i = 0; i < icheck.length; i++) { //给每个子元素都绑定事件 icheck[i].onclick = function() { //点击的时候在遍历icheck,看看是否有没选中的 for(var j = 0; j < icheck.length; j++) { //定义一个标志来记录 var flag = true; if(icheck[j].checked == false) { flag = false; } } inputAll.checked=flag; } }

现在这样才是真的完事了,这样才是真的完美解决了。大家可以自己试试。lz要去减肥去了

bc91bb04e6e9c61e24c974e4440db8f2.gif

本文网址:http://www.shaoqun.com/a/305589.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JS

0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值