前端小记 前端小记
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
    • Vue
  • 学习笔记

    • 《Vue》踩坑笔记
    • TypeScript学习笔记
    • 小程序笔记
    • JavaScript设计模式笔记
  • 工具
  • CentOS
  • Java
  • Docker
  • Linux
  • Maven
  • MySQL
  • 其他
  • 技术文档
  • GitHub部署及推送
  • Nodejs
  • 博客搭建
  • Fullpage全屏轮播插件
  • svn
  • 学习
  • 系统重装
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

sweetheart

前端小记
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
    • Vue
  • 学习笔记

    • 《Vue》踩坑笔记
    • TypeScript学习笔记
    • 小程序笔记
    • JavaScript设计模式笔记
  • 工具
  • CentOS
  • Java
  • Docker
  • Linux
  • Maven
  • MySQL
  • 其他
  • 技术文档
  • GitHub部署及推送
  • Nodejs
  • 博客搭建
  • Fullpage全屏轮播插件
  • svn
  • 学习
  • 系统重装
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • HTML

  • CSS

  • JavaScript

    • JavaScript基础
    • JavaScript原型与原型链
    • JavaScript执行上下文
    • JavaScript作用域与作用域链
    • JavaScript闭包
    • JavaScript对象创建模式
    • JavaScript继承模式
    • JavaScript线程机制和事件机制
    • JavaScript赋值与浅拷贝与深拷贝解析
    • JS常用的正则表达式
    • html&css实现简单的注册页面
    • JS对注册页面进行表单校验
    • 动态表格&全选
      • 效果展示
      • PostForm.html
      • PostForm.css
      • PostForm.js
    • 元素拖拽实现
  • Vue

  • 学习笔记

  • 工具

  • 其他

  • 前端
  • JavaScript
sweetheart
2019-08-08
目录

动态表格&全选

# 效果展示

# PostForm.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>动态表格&全选</title>
        <link rel="stylesheet" href="../css/PostForm.css">
    </head>
    <body>
        <div>
            <input id="id" type="text" placeholder="请输入编号">
            <input id="name" type="text" placeholder="请输入姓名">
            <input id="gender" type="text" placeholder="请输入性别">
            <input id="btn_add" type="button" value="添加">
        </div>
        <table>
            <caption>学生信息表</caption>
            <tr>
                <th><input type="checkbox" name="cb" id="firstcb"></th>
                <th>编号</th>
                <th>姓名</th>
                <th>性别</th>
                <th>操作</th>
            </tr>
            <tr>
                <td><input type="checkbox" name="cb"></td>
                <td>1</td>
                <td>哈哈哈</td>
                <td>男</td>
                <td><a href="javascript:void(0);" onclick="del(this);">删除</a></td>
            </tr>

            <tr>
                <td><input type="checkbox" name="cb"></td>
                <td>2</td>
                <td>嘿嘿嘿</td>
                <td>男</td>
                <td><a href="javascript:void(0);" onclick="del(this);">删除</a></td>
            </tr>

            <tr>
                <td><input type="checkbox" name="cb"></td>
                <td>3</td>
                <td>小红红</td>
                <td>女</td>
                <td><a href="javascript:void(0);" onclick="del(this);">删除</a></td>
            </tr>
            <tr>
                <td><input type="checkbox" name="cb"></td>
                <td>4</td>
                <td>小伙子</td>
                <td>女</td>
                <td><a href="javascript:void(0);" onclick="del(this);">删除</a></td>
            </tr>
        </table>
        <div>
            <input type="button" id="selectAll" value="全选">
            <input type="button" id="unSelectAll" value="全不选">
            <input type="button" id="selectRev" value="反选">
        </div>


        <script src="../js/PostForm.js"></script>
      </body>
    </ html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

# PostForm.css

    body {
        background: url("../image/2.png") no-repeat center;
        /*设置图片适应整个页面*/
        background-size: 100% 100%;
        background-attachment:fixed;
    }


    table{
        border: 1px solid;
        margin: auto;
        width: 500px;
    color: #CC00FF;
    }

    td,th{
        text-align: center;
        border: 1px solid;
    }
    div{
        text-align: center;
        margin: 50px;
        margin-top: 30px;

    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# PostForm.js

        //在页面加载完成后绑定事件
    window.onload = function () {
        //给全选按钮绑定单击事件
        document.getElementById("selectAll").onclick = function (ev) {

            //全选
            //1.获取所有的checkbox
            var cbs = document.getElementsByName("cb");
            //遍历
            for (var i = 0; i < cbs.length; i++) {
                //3.设置每一个cb的状态为选中  checked  = true
                cbs[i].checked = true;
            }
        }

        document.getElementById("unSelectAll").onclick = function (ev) {
            //全不选
            //1.获取所有的checkbox
            var cbs = document.getElementsByName("cb");
            //遍历
            for (var i = 0; i < cbs.length; i++) {
                //3.设置每一个cb的状态为不选中  checked  = false
                cbs[i].checked = false;
            }
        }

        document.getElementById("selectRev").onclick = function (ev) {
            //反选
            //1.获取所有的checkbox
            var cbs = document.getElementsByName("cb");
            //遍历
            for (var i = 0; i < cbs.length; i++) {
                //3.设置每一个cb的状态
                cbs[i].checked = !cbs[i].checked;
            }
        }

        document.getElementById("firstcb").onclick = function () {
            //1.获取所有的checkbox
            var cbs = document.getElementsByName("cb");
            //遍历
            for (var i = 0; i < cbs.length; i++) {
                //3.设置每一个cb的状态和第一个cb的状态相同
                cbs[i].checked = this.checked;
            }
        }
    }

    //使用innerHTML添加
    document.getElementById("btn_add").onclick = function () {
        //获取文本框的内容
        var id = document.getElementById("id").value;
        var name = document.getElementById("name").value;
        var gender = document.getElementById("gender").value;

        //获取table
        var table = document.getElementsByTagName("table")[0];

        //追加一行
        table.innerHTML += "<tr>\n" +
            "        <td><input type='checkbox' name='cb'></td>\n" +
            "        <td>" + id + "</td>\n" +
            "        <td>" + name + "</td>\n" +
            "        <td>" + gender + "</td>\n" +
            "        <td><a href=\"javascript:void(0);\" onclick=\"del(this);\" >删除</a></td>\n" +
            "    </tr>";
    }

    //删除方法
    function del(obj) {
        var table = obj.parentNode.parentNode.parentNode;
        var tr = obj.parentNode.parentNode;
        table.removeChild(tr);

    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
完善页面 (opens new window)
上次更新: 2024-11-28 17:23:47
JS对注册页面进行表单校验
元素拖拽实现

← JS对注册页面进行表单校验 元素拖拽实现→

最近更新
01
git常用操作手册
12-26
02
常用的前端工具库
12-19
03
前端构建工具
12-19
更多文章>
前端小记 版权所有 | Copyright © 2021-2024
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式