前端小demo——全选和全不选

模拟购物车,实现全选或者全不选,或者其中任意一件单品单选的效果。

点击顶部复选框实现全选

列表中任意一项未选中,顶部复选框就是未选中的状态

<!DOCTYPE html>
<html>

<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <style>
    * {
      padding: 0;
      margin: 0;
    }

    #div {
      width: 300px;
      margin: 100px auto;
    }

    table {
      border-collapse: collapse;
      border-spacing: 0;
      border: 2px solid #ccc;
      width: 300px;
    }

    th,
    td {
      border: 1px solid #ccc;
      color: #000;
      padding: 10px;
    }

    th {
      background-color: #09c;
      font: bold 18px "幼圆";
      color: #ffffff;
    }

    td {
      font: bold 16px "幼圆";
      text-align: center;

    }

    tr {
      background-color: rgb(237, 238, 240);
    }

    tr:hover {
      cursor: pointer;
      background-color: #fff;
    }

    body {
      background-color: #ccc;
    }
  </style>
</head>

<body>
  <div id="div">
    <table>
      <caption>
        <h2>选择武器</h2>
      </caption>
      <thead>
        <tr>
          <th>
            <input type="checkbox" id="all" />
          </th>
          <th>武器</th>
          <th>奥义</th>
        </tr>
      </thead>
      <tbody id="content">
        <tr>
          <td>
            <input type="checkbox" />
          </td>
          <td>铁碎牙</td>
          <td>金刚爆流破</td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" />
          </td>
          <td>天生牙</td>
          <td>冥道残月破</td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" />
          </td>
          <td>梓山弓矢</td>
          <td>破魔净化</td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" />
          </td>
          <td>爆碎牙</td>
          <td>苍龙破</td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" />
          </td>
          <td>斗鬼神</td>
          <td>爆流破</td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" />
          </td>
          <td>丛云牙</td>
          <td>狱龙破</td>
        </tr>
      </tbody>

    </table>
  </div>
  <!-- <script src="common.js"></script> -->
  <script>
    function zy$(id) {
      return document.getElementById(id)
    };
    //获取元素
    var all = zy$("all");
    //获取所有的复选框
    var tbodyO = zy$("content").getElementsByTagName("input");
    //第一步,tbody中的状态和全选复选框状态一致
    //注册点击事件,添加事件处理函数
    all.onclick = function () {
      for (var i = 0; i < tbodyO.length; i++) {
        tbodyO[i].checked = this.checked;
      }
    };
    //第二步,tbody中的复选框状态,影响全选框
    //为tbody中所有的复选框注册点击事件
    for (var i = 0; i < tbodyO.length; i++) {
      tbodyO[i].onclick = function () {
        //设置一个变量为判断标识
        var flag = true;
        //循环遍历
        for (var j = 0; j < tbodyO.length; j++) {
          //只要存在没被勾选的复选框
          if (!tbodyO[j].checked) {
            //判断标识为假,不影响全选框
            flag = false;
            break;
          }
        }
        all.checked = flag;
      };
    }
  </script>
</body>

</html>

原文地址:https://www.cnblogs.com/yuebanzhou/p/9133195.html

时间: 2024-11-15 00:22:34

前端小demo——全选和全不选的相关文章

前端小demo——表格增删

模拟录入成绩系统,对数据在前端页面进行增删. 点击生成表格按钮,自动生成一个表格,这里的数据是写死的.可以进行删除. 点击添加按钮,自动生成一行,在输入框内输入相关内容,点击确定,生成新数据. <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> table { t

前端小demo——遮罩层逐渐变透明

点击按钮触发事件使遮罩层逐渐变透明 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> img { width: 430px; height: 280px; } div { width: 1600px; height: 300px; background

jquery小代码之整页全选

待整理...... 关于checkbox $("[name='checkbox']").attr("checked",'true');//全选 $("[name='checkbox']").removeAttr("checked");//取消全选 $("[name='checkbox']:even").attr("checked",'true');//选中所有奇数 反选 $("

jQuery学习(五)——使用JQ完成复选框的全选和全不选

1.在系统后台进行人员管理时,进行批量删除,使用jq完成全选和全不选 步骤分析: 第一步:引入jquery文件 第二步:书写页面加载函数 第三步:为上面的复选框绑定单击事件 第四步:将下面所有的复选框的选中状态设置成跟上面的一致! 2.具体代码实现: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>使用jQuery完成复选框的全选和全不

一个checkbox 用jquery实现全选、全不选

之前因为一个很小的错误弄了很久,现在才做好. 效果图: 肯定还有更简单的方法. 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Checkbox.aspx.cs" Inherits="WebApp.Test.Checkbox" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http:

jQuery_review之jQuery实现多选框的反选、全选、全不选

有几个非常常见的知识点,需要重点关注一下.如何显示多选框呢?<input type="checkbox" name="name" value="value1"><input type="checkbox" name="name" value="value2">.这样就能表示两个多选框,他们具有同样的name值,在JSP中,传到后台的时候,可以使用request.g

AngularJS--购物车全选/取消全选功能实现

刚学习angularJS,于是练习写了一个类似于购物车的全选/取消全选的功能,主要实现的功能有: 1.勾选全选checkbox,列表数据全部被勾选,取消同理,用ng-model实现双向绑定: 2.选中列表中的所有checkbox,全选也会被勾选:(这里我想到的方法是给每一个对象增加checked字段,然后勾选触发echoChange()函数,用了一个cc变量计算当前checked为true的个数,然后再判断被勾选个数与数组长度是否相等,相等则证明全部被勾选,于是全选按钮也赋值为true;不知道还

JS——全选和全不选

1.全选和全不选函数: <script> function checkAll(){ var checkAllEle = document.getElementById("checkAll"); if(checkAllEle.checked==true){ var checkOnes = document.getElementsByName("checkOne"); for(var i=0;i<checkOnes.length;i++){ check

JQ——选择器的应用(表格的隔行换色、全选和全不选)

1.表格的隔行换色: (1)核心代码: <script> $(function(){ $("tbody tr:even").css("background-color","red"); $("tbody tr:odd").css("background-color","yellowgreen"); }); </script> 获取tbody中的元素,并对奇数行和偶