关键词搜索

源码搜索 ×
×

(JavaScript)表格全选案例

发布2020-02-26浏览662次

详情内容

一、效果图

在这里插入图片描述
实现的目标:
(1)实现全选、全不选、反选按钮功能
(2)实现点击第一行按钮,会同时控制其余三行按钮
(3)实现鼠标移到哪一行,哪一行背景颜色变为红色

注意:
(1)先加载整个页面:onload = function () {}
(2)复选框 checkbox,选中和未选中靠属性checked控制

二、代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自动跳转页面案例</title>
    <style>
        table{
            border:1px solid;
            margin: auto;
            width: 500px;
        }
        td,th{
            text-align: center;
            border: 1px solid;
        }
        div{
            margin-top: 10px;
            margin-left: 31% ;
        }
        .over{
            background: red;
        }
        .out{
            background: white;
        }
    </style>
</head>
<body>
<script>
    //页面加载后完成绑定事件
    onload = function () {
        document.getElementById("selectAll").onclick = function () {
            // 实现全选功能
            var cbs = document.getElementsByName("cb");
            for (var i = 0; i < cbs.length; i++) {
                //设置每一个 cb  的状态为选中:将 checkbox 的属性 checked 设置为 TRUE
                cbs[i].checked = true;
            }
        }
        document.getElementById("unSelectAll").onclick = function () {
            // 实现全不选功能
            var cbs = document.getElementsByName("cb");
            for (var i = 0; i < cbs.length; i++) {
                //设置每一个 cb  的状态为未选中:将 checkbox 的属性 checked 设置为 false
                cbs[i].checked = false;
            }
        }
        document.getElementById("selectRev").onclick = function () {
            // 实现反选功能
            var cbs = document.getElementsByName("cb");
            for (var i = 0; i < cbs.length; i++) {
                //设置每一个 cb  的状态为选中:将 checkbox 的属性 checked 设置为 TRUE
                cbs[i].checked = !cbs[i].checked;
            }
        }
        // 实现点击第一行,其余3行和其状态保持一致
        document.getElementById("firstTd").onclick = function () {
            var cbs = document.getElementsByName("cb");
            for (var i = 1; i < cbs.length; i++) {
                cbs[i].checked = this.checked;
            }
        }

        // 实现光标移入和移除的效果:
        var trs = document.getElementsByTagName("tr");
        for (var i = 0; i < trs.length ; i++) {
            trs[i].onmouseover = function () {
                this.className = "over"
            }
            trs[i].onmouseout = function () {
                this.className = "out";
            }
        }
    }

</script>

<table id="table">
    <caption>学生信息表</caption><!--caption 元素定义表格标题-->
    <tr>
        <td><input type="checkbox" name="cb" id="firstTd"></td>
        <th>编号</th><!--th 定义表头单元格-->
        <th>姓名</th>
        <th>性别</th>
        <th>操作</th>
    </tr>
    <tr>
        <td><input type="checkbox" name="cb"></td>
        <td>1</td>
        <td>1</td>
        <td></td>
        <td><a href="javascript:void(0);" >删除</a></td><!--这里的 this 表示删除的是此节点-->
    </tr>
    <tr>
        <td><input type="checkbox" name="cb"></td>
        <td>2</td>
        <td>2</td>
        <td></td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="cb"></td>
        <td>3</td>
        <td>3</td>
        <td></td>
        <td><a href="javascript:void(0);" ;>删除</a></td>
    </tr>
</table>

<div>
    <input type="button" id="selectAll" value="全选">
    <input type="button" id="unSelectAll" value="全不选">
    <input type="button" id="selectRev" value="反选">
</div>
</body>
</html>

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载