js简单全选及反选demo效果示例(整理)

简介: js简单全选及反选demo效果示例(整理)
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>简单全选及反选</title>
    <script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      div {
        width: 300px;
        border: solid 1px #000;
        padding: 20px 0;
        margin: 0 auto;
      }
      span {
        margin-right: 20px;
      }
      a {
        color: green;
      }
    </style>
  </head>
  <body>
    <div>
          <p>
                <input type="checkbox"> <span>全选</span>
                <a href="###">反选</a>
            </p>
          <p>
                <input type="checkbox">选项1
            </p>
          <p>
                <input type="checkbox">选项2
            </p>
          <p>
                <input type="checkbox">选项3
            </p>
          <p>
                <input type="checkbox">选项4
            </p>
          <p>
                <input type="checkbox">选项5
            </p>
    </div>
    <script>
      //给标签增加类名  div.className = '';
      //给所有的输入框都增加checked属性
      // var inps = document.querySelectorAll('input');
      // for( var i =0; i< inps.length; i++){
      // if( i % 2 == 0 ){
      // inps[i].checked = true;
      // }
      // }
      //效果:当点击全选按钮的时候,所有的选项都被选中
      //span内容变成全不选
      //span有两种内容,全选, 全不选  是根据全选按钮是否被选中而定
      //效果:当点击反选按钮的时候,所有的选项取反值
      //效果:当10个选项都被选中即(十个checked都为true)的时候,
      //全选被选中
      var inpFirst = document.querySelector('input');
      var inps = document.querySelectorAll('input');
      var span = document.querySelector('span');
      var fan = document.querySelector('a');
      //全选
      inpFirst.onclick = function() {
        //      this.checked = true;
        for (var i = 1; i < inps.length; i++) {
          inps[i].checked = this.checked;
        }
        // if(this.checked) {
        // span.innerText = '全不选';
        // } else {
        // span.innerText = '全选';
        // }
        checkAll();
      }
      //十个选项
      //设置初始被选中的次数
      for (var i = 1; i < inps.length; i++) {
        inps[i].onclick = function() {
          //检测选项中被选中的个数
          // for(var j = 1, num = 0; j < inps.length; j++) {
          // if(inps[j].checked) {
          // num++;
          // }
          // //      console.log(num);
          // }
          // inpFirst.checked = (inps.length - 1 == num);
          // if(inpFirst.checked) {
          // span.innerText = '全不选';
          // } else {
          // span.innerText = '全选';
          // }
          checkAll();
        }
      }
      //反选
      fan.onclick = function() {
        for (var i = 1; i < inps.length; i++) {
          inps[i].checked = !inps[i].checked;
        }
        checkAll();
      }
      //封装
      function checkAll() {
        for (var j = 1, num = 0; j < inps.length; j++) {
          if (inps[j].checked) {
            num++;
          }
          //      console.log(num);
        }
        inpFirst.checked = (inps.length - 1 == num);
        if (inpFirst.checked) {
          span.innerText = '全不选';
        } else {
          span.innerText = '全选';
        }
      }
      checkAll();
    </script>
  </body>
</html>

相关文章
|
4月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
6月前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
6月前
|
JavaScript 前端开发
JS配合CSS3实现动画和拖动小星星小Demo
本文通过代码示例展示了如何使用JavaScript和CSS3实现动画效果和拖动小星星的交互效果,包括文字掉落动画和鼠标拖动产生小星星动画的实现方法。
83 0
|
6月前
|
前端开发 JavaScript 开发者
Express.js与前端框架的集成:React、Vue和Angular的示例与技巧
本文介绍了如何将简洁灵活的Node.js后端框架Express.js与三大流行前端框架——React、Vue及Angular进行集成,以提升开发效率与代码可维护性。文中提供了详细的示例代码和实用技巧,展示了如何利用Express.js处理路由和静态文件服务,同时在React、Vue和Angular中构建用户界面,帮助开发者快速掌握前后端分离的开发方法,实现高效、灵活的Web应用构建。
131 3
|
7月前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
7月前
|
JavaScript 前端开发
【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例
【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例
|
7月前
|
JavaScript 前端开发
JavaScript——一个简单的队列Demo
JavaScript——一个简单的队列Demo
61 4
|
7月前
|
JavaScript
js之三级联动示例
js之三级联动示例
55 1
|
7月前
|
JSON Dart 前端开发
分享15 个 JavaScript 代码示例及其 Dart 对应代码。
本文对比了React/React Native中的JavaScript语法与Flutter中的Dart语法,帮助开发者快速上手Flutter。内容涵盖JSON处理、数组操作、类型转换、条件判断等常见功能,如`JSON.stringify`与`JsonEncoder().convert`,`array.push`与`list.add`,`parseInt`与`int.parse`等,并提供了15个JavaScript与Dart代码示例对照。这对于从JavaScript转向Dart的开发者尤其有用。
53 0
|
7月前
|
存储 移动开发 JavaScript
JavaScript简介及示例
JavaScript简介及示例

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等