js表单全选和取消全选

简介: 这是一个全选和取消全选的功能,最上边的是全选框,下边的是单选框。1. 全选框选中,下边的所有单选框也都选中,全选框取消选中,下边的单选全不选中。如果全选选中情况下,下边的取消选中一个,哪上边的全选框就不选中。2. 第二就是下边的单选框一个一个选中,等到下边的单选框全部选中后,上边的全选框选中。同样取消一个单选,全选就不选中。

这是一个全选和取消全选的功能,最上边的是全选框,下边的是单选框。


1. 全选框选中,下边的所有单选框也都选中,全选框取消选中,下边的单选全不选中。如果全选选中情况下,下边的取消选中一个,哪上边的全选框就不选中。


2. 第二就是下边的单选框一个一个选中,等到下边的单选框全部选中后,上边的全选框选中。同样取消一个单选,全选就不选中。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
      .wrap{
        border: 1px solid black;
        width: 150px;
      }
      tr{
        border: 1px solid black;
      }
    </style>
  </head>
  <body>
    <div class="wrap">
      <table>
        <thead>
          <tr>
            <th>
              <input type="checkbox" id="j_cbALL">
            </th>
            <th>全选</th>
            <th></th>
          </tr>
        </thead>
        <tbody id="j_tbs">
          <tr>
            <td>
              <input type="checkbox">
            </td>
            <td>iPhone1</td>
            <td>3000</td>
          </tr>
          <tr>
            <td>
              <input type="checkbox">
            </td>
            <td>iPhone2</td>
            <td>4000</td>
          </tr>
          <tr>
            <td>
              <input type="checkbox">
            </td>
            <td>iPhone3</td>
            <td>5000</td>
          </tr>
        </tbody>
      </table>
    </div>
    <script>
            // 全选和取消全选做法:让下面所以复选框的checked属性(选中状态)跟随全选按钮即可
      var j_cbALL = document.getElementById('j_cbALL');
      var j_tbs = document.getElementById('j_tbs').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;
        }
      }
            // 下面复选框需要全部选中,上面全选才能选中做法:给下面所以复选框绑定点击事件,
      for(var i = 0; i < j_tbs.length; i++){
        j_tbs[i].onclick = function(){
                    // flay 控制全选按钮是否选中
          var flay = true;
                    // 每次点击下面的复选框都要循环检查所有按钮是否全被选中
          for(var i = 0; i < j_tbs.length; i++){
            if(!j_tbs[i].checked){
              flay = false;
                            // 退出for循环,这样可以提高效率 因为只要有一个没选中,剩下的就不需要循环判断
                            break;
            }
          }
          j_cbALL.checked = flay;
        }
      }
    </script>
  </body>
</html>


相关文章
ractive.js联系表单动画效果源码
一款ractive.js联系表单动画效果,很有创意的发送邮件、联系内容等表单,基于ractive.js实现的动画效果,以发送信件的方式。
142 1
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
306 3
|
JavaScript 数据安全/隐私保护
2024了,你会使用原生js批量获取表单数据吗
2024了,你会使用原生js批量获取表单数据吗
287 4
|
JavaScript 前端开发 数据安全/隐私保护
前端技术分享:使用Vue.js构建响应式表单
【10月更文挑战第1天】前端技术分享:使用Vue.js构建响应式表单
|
移动开发 前端开发 JavaScript
JavaScript 表单
JavaScript 表单
101 9
|
移动开发 JavaScript 前端开发
js之操作表单 | 12-4
js之操作表单 | 12-4
|
前端开发 微服务 API
微服务浪潮下的JSF革新:如何在分散式架构中构建统一而强大的Web界面
【8月更文挑战第31天】随着微服务架构的兴起,企业将应用拆分成小型、独立的服务以提高系统可维护性和可扩展性。本文探讨如何在微服务架构下构建和部署JavaServer Faces (JSF) 应用,通过RESTful服务实现前后端分离,提升灵活性和适应性。
237 1
|
JavaScript 安全 数据安全/隐私保护
深入Node.js与Express:从表单接收到数据验证的完整指南——实战技巧揭秘后端开发中的表单处理流程
【8月更文挑战第31天】在Web开发中,处理表单数据至关重要。本文通过实例详细讲解了如何利用Node.js与Express框架接收和验证表单数据。首先,搭建环境并初始化一个简单的Express应用;接着,演示如何接收用户注册表单中的`username`和`email`字段;最后,引入`joi`模块进行数据验证,确保数据安全准确。掌握这些技能有助于开发者构建更安全、友好的Web应用。随着Node.js和Express的不断进步,未来将有更多高级功能值得期待。
464 1
|
人工智能 前端开发 JavaScript
react js 处理表单( form )的2个例子
react js 处理表单( form )的2个例子

热门文章

最新文章