当前位置: 首页> 游戏> 游戏 > 在线网页代理 美国服务器_广西网站建设软件推广_seo优化技术培训中心_23岁老牌网站

在线网页代理 美国服务器_广西网站建设软件推广_seo优化技术培训中心_23岁老牌网站

时间:2025/7/9 12:14:43来源:https://blog.csdn.net/han1202012/article/details/147285967 浏览次数:0次
在线网页代理 美国服务器_广西网站建设软件推广_seo优化技术培训中心_23岁老牌网站

文章目录

  • 一、核心要点解析 - 表格全选复选框案例
    • 1、案例需求
    • 2、复选框设置
    • 3、获取 全选复选框 和 普通复选框
    • 4、设置 全选复选框 逻辑
    • 5、设置 普通复选框 逻辑
  • 二、完整代码示例
    • 1、代码示例
    • 2、执行结果






一、核心要点解析 - 表格全选复选框案例




1、案例需求


在表格中 , 设置 多个 checkbox 复选框 表单 , 标题中的 复选框 是 " 全选复选框 " , 普通 表格行 中的 复选框 是 " 普通复选框 " , 受 全选复选框 控制 ;

在这里插入图片描述


2、复选框设置


复选框 是 input 表单 , 将 表单的 type 类型属性 设置为 checkbox , 就是设置了一个复选框 ;

<input type="checkbox" />

在 table 表格 中的 thead 标签元素 , 就是 表格的标题 , 在 该标签下 , 设置 " 全选复选框 " , 该 全选复选框 设置一个 id 属性 , 方便查找到该 元素 ;

        <thead><tr><td><input type="checkbox" id="j_cbAll" /></td><th>姓名</th><th>年龄</th></tr></thead>

table 表格 中 tbody 标签 是 表格 的 内容 , 在 该标签下 , 设置 " 普通复选框 " ; 下面的代码中设置了 3 个普通复选框 ;

        <tbody id="j_tb"><tr><td><input type="checkbox" /></td><td>Tom</td><td>18</td></tr><tr><td><input type="checkbox" /></td><td>Jerry</td><td>12</td></tr><tr><td><input type="checkbox" /></td><td>Trump</td><td>74</td></tr></tbody>

3、获取 全选复选框 和 普通复选框


通过 id 选择器 , 调用 Document 对象的 getElementById , 获取对应 id 的标签 ;

" 全选复选框 " 元素 直接通过 调用 document.getElementById('j_cbAll') 代码即可获得 ;


" 普通复选框 " 元素 都定义在 table 表格的 <tbody id="j_tb"> 标签下 , 先通过 document.getElementById('j_tb') 获取 <tbody id="j_tb"> 标签元素 , 然后 通过 标签选择器 获取 tbody 标签下的 input 标签元素 ;


完整代码如下 :

        // 获取 表格标题 中的 全选按钮复选框 元素 , 只有一个元素var j_cbAll = document.getElementById('j_cbAll');// 获取 标题内容 中的 普通按钮复选框 元素 , 有多个该元素var j_tbs = document.getElementById('j_tb').getElementsByTagName('input');

4、设置 全选复选框 逻辑


全选复选框 逻辑 , 就是 全选 和 取消全选 ;

  • 全选复选框 选中 , 则 普通复选框 全部选中 ;
  • 全选复选框 取消选中 , 则 普通复选框 全部取消选中 ;

就是 为所有的 普通复选框 设置 全选按钮复选框 的 选中状态 , true 是选中 , false 是未选中 ;


代码示例 :

        // 注册 全选 和 取消全选 事件j_cbAll.onclick = function() {// 为所有的 普通复选框 设置 全选按钮复选框 的 选中状态 , true 是选中 , false 是未选中for (var i = 0; i < j_tbs.length; i++) {j_tbs[i].checked = this.checked;}}

5、设置 普通复选框 逻辑


普通复选框 逻辑 如下 : 通过 普通复选框 的操作 , 影响 全选复选框 的 选中状态 ;

  • 全选复选框 选中 : 表格 中的 普通复选框 全部选中 , 表格标题 中的 全选复选框 才会选中 ;
  • 全选复选框 取消选中 : 为所有 普通复选框绑定点击事件 , 每次点击改变选中状态 , 循环检查 所有的 普通复选框 是否 有没有选中的 , 如果有任意一个没有选中 , 则 取消 全选复选框 的 选中状态

代码示例 :

        // 2. 普通复选框 逻辑 : //    全选复选框 选中 : 表格 中的 普通复选框 全部选中 , 表格标题 中的  全选复选框 才会选中 ; //    全选复选框 取消选中 : 为所有 普通复选框绑定点击事件 , 每次点击改变选中状态 , 循环检查 所有的 普通复选框 是否 有没有选中的 , 如果有任意一个没有选中 , 则 取消 全选复选框 的 选中状态for (var i = 0; i < j_tbs.length; i++) {// 为 所有的 普通复选框 循环设置 点击状态j_tbs[i].onclick = function() {// 设置 全选复选框 的 选中状态 , 默认为 truevar flag = true;// 任意一个 普通复选框 点击 , 不管是 选中 还是 取消选中 , 都要检查 当前 是否全部选中 , //      如果 是 则 全选复选框 设置为 选中状态 //      如果 不是 则 全选复选框 设置为 取消选中状态for (var i = 0; i < j_tbs.length; i++) {// 只要有一个 普通复选框 没有选中 , 则 全选复选框 的 选中状态 就设置成了 falseif (!j_tbs[i].checked) {flag = false;break;}}j_cbAll.checked = flag;}}




二、完整代码示例




1、代码示例


完整代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Inline Style Operation Example</title><style>* {/* 取消默认内外边距样式 */margin: 0;padding: 0;}table {width: 400px;margin: 50px auto;text-align: center;border-collapse: collapse;font-size: 14px;}thead tr {height: 30px;background-color: skyblue;}tbody tr {height: 30px;}tbody td {border-bottom: 1px solid #d7d7d7;font-size: 12px;color: blue;}.bg {background-color: pink;}</style>
</head><body><table><thead><tr><td><input type="checkbox" id="j_cbAll" /></td><th>姓名</th><th>年龄</th></tr></thead><tbody id="j_tb"><tr><td><input type="checkbox" /></td><td>Tom</td><td>18</td></tr><tr><td><input type="checkbox" /></td><td>Jerry</td><td>12</td></tr><tr><td><input type="checkbox" /></td><td>Trump</td><td>74</td></tr></tbody></table><script>// 1.获取元素 获取的是 tbody 里面所有的行var trs = document.querySelector('tbody').querySelectorAll('tr');// 2. 利用循环绑定注册事件for (var i = 0; i < trs.length; i++) {// 3. 鼠标经过事件 onmouseovertrs[i].onmouseover = function() {// console.log(11);this.className = 'bg';}// 4. 鼠标离开事件 onmouseouttrs[i].onmouseout = function() {this.className = '';}}// 获取 表格标题 中的 全选按钮复选框 元素 , 只有一个元素var j_cbAll = document.getElementById('j_cbAll');// 获取 标题内容 中的 普通按钮复选框 元素 , 有多个该元素var j_tbs = document.getElementById('j_tb').getElementsByTagName('input');// 1. 全选 和 取消全选  // 注册 全选 和 取消全选 事件j_cbAll.onclick = function() {// 为所有的 普通复选框 设置 全选按钮复选框 的 选中状态 , 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() {// 设置 全选复选框 的 选中状态 , 默认为 truevar flag = true;// 任意一个 普通复选框 点击 , 不管是 选中 还是 取消选中 , 都要检查 当前 是否全部选中 , //      如果 是 则 全选复选框 设置为 选中状态 //      如果 不是 则 全选复选框 设置为 取消选中状态for (var i = 0; i < j_tbs.length; i++) {// 只要有一个 普通复选框 没有选中 , 则 全选复选框 的 选中状态 就设置成了 falseif (!j_tbs[i].checked) {flag = false;break;}}j_cbAll.checked = flag;}}</script>
</body></html>

2、执行结果


静态结果 :

在这里插入图片描述

完整执行过程 :

在这里插入图片描述

关键字:在线网页代理 美国服务器_广西网站建设软件推广_seo优化技术培训中心_23岁老牌网站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: