原生JS实现table表格checkbox复选框的全选取消全选

原生JS实现table表格checkbox复选框的全选与取消全选。先来看一下效果:
原生JS实现table表格checkbox复选框的全选取消全选
文章图片

实现思路:
全选和取消全选做法:让下面所有复选框的checked属性(选中状态)跟随全选按钮即可;
【原生JS实现table表格checkbox复选框的全选取消全选】下面复选框需要全部选中,上面全选才能选中做法:给下面所以复选框绑定点击事件,每次点击,都要循环查看下面所有的复选框是否有没选中的,上面全选就不选中;
可以设置一个变量,来控制全选是否选中。
HTML代码:

商品 价钱
iphone13 10000
ipad pro 7000
HUAWEI 6280
联想ThinkBook 5399

CSS代码:
table { width: 100%; max-width: 600px; height: 320px; border-collapse: collapse; border: 1px solid #38678f; margin: 50px auto; background: white; } th { background: steelblue; height: 54px; width: 25%; font-weight: lighter; text-shadow: 0 1px 0 #38678f; color: white; border: 1px solid #38678f; box-shadow: inset 0px 1px 2px #568ebd; transition: all 0.2s; } tr { border-bottom: 1px solid #cccccc; } td { border-right: 1px solid #cccccc; padding: 10px; transition: all 0.2s; }

关键JS代码:
var j_cbAll = document.getElementById('j_cbAll'); // 全选按钮 var j_tbs = document.getElementById('j_tb').getElementsByTagName('input'); // 下面所有的复选框 // 全选事件 j_cbAll.onclick = function () { // this.checked 它可以得到当前复选框的选中状态,如果是true就是选中,如果是false就是未选中 for(var i = 0; i < j_tbs.length; i++) { j_tbs[i].checked = this.checked; } } // 2.下面复选框需要全部选中,上面全选才能选中做法:给下面所以复选框绑定点击事件,每次点击, // 都要循环查看下面所有的复选框是否有没选中的,上面全选就不选中。 for(var i = 0; i < j_tbs.length; i++) { // 遍历为每个小按钮绑定事件 j_tbs[i].onclick = function () { // flag 控制全选按钮是否选中 var flag = true; // 每次点击下面的复选框都要循环检查这4个小按钮是否选中 for(var i = 0; i < j_tbs.length; i++) { if (!j_tbs[i].checked) { // j_cbAll.checked = false; flag = false; break; // 退出for循环,这样可以提高执行效率,因为只要有一个没有选中,剩下的就无需循环判断了 } } j_cbAll.checked = flag; } }

结语
以上就是码云笔记用原生JS为大家实现的table表格checkbox复选框的全选取消全选,这个例子很简单,相信很多小伙伴都能啪啪敲出来,我呢只是很长时间用了太多框架了,没有拥抱原生JS,所以特此练练手。当然,如果这个小例子能够对新入行朋友提供一些参考,那就更完美了。
原文:https://www.mybj123.com/14345.html

    推荐阅读