js对复选框的操作

文章目录

1.三个按钮:全选 全不选 反选
2.第一个复选框:全选和全不选
3.鼠标移入变色,移出复原


一、html部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>

        .over{
            background-color:deeppink;
        }
        .out{
            background-color:white;
        }

    </style>
</head>
<body>

<table border="1" cellpadding="10" cellspacing="0">
    <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);">删除</a></td>
    </tr>

    <tr>
        <td><input type="checkbox"  name="cb" ></td>
        <td>2</td>
        <td>任我行</td>
        <td>男</td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>

    <tr>
        <td><input type="checkbox"  name="cb" ></td>
        <td>3</td>
        <td>岳不群</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>

二、js部分

<script>
    window.onload=function () {
        /*按钮全选实现步骤:
  * 1.获取“全选按钮”这个元素
  * 2.给按钮元素绑定一个点击事件
  * 3.在点击事件的实现中,获取所有的复选框元素
  * 4.使用循环遍历,给所有复选框元素的checked属性赋值true
  */
        let check = document.getElementsByName("cb");
        document.getElementById("selectAll").onclick=function () {
            check.forEach(e =>e.checked=true)
        }
        /*按钮全不选实现步骤:
* 1.获取“全不选按钮”这个元素
* 2.给按钮元素绑定一个点击事件
* 3.在点击事件的实现中,获取所有的复选框元素
* 4.使用循环遍历,给所有复选框元素的checked属性赋值false
*/
        document.getElementById("unSelectAll").onclick=function () {
            check.forEach(e =>e.checked=false)
        }
        /*按钮反选实现步骤:
        * 1.获取“反选按钮”这个元素
        * 2.给按钮元素绑定一个点击事件
        * 3.在点击事件的实现中,获取所有的复选框元素
        * 4.使用循环遍历,给所有复选框元素的checked属性 取非
        */
        document.getElementById("selectRev").onclick=function () {
            check.forEach(e =>e.checked=!e.checked)
        };
        /*第一个复选框带动其它复选框全选和全不选实现步骤:
        * 1.获取“第一个复选框”这个元素 firstCheckBox
        * 2.给 firstCheckBox 绑定一个点击事件
        * 3.在点击事件的实现中,获取所有的复选框元素
        * 4.使用循环遍历,让所有复选框元素的checked属性 和 第一个复选框的 checked属性相同
        */
        document.getElementById("firstCb").onclick=function () {
            check.forEach(e =>e.checked=this.checked)
        }
        /*鼠标移入移出变色功能实现步骤:
        1.获取table中所有的tr元素
        2.使用循环遍历给每一个tr元素绑定onmouseover和onmouseout事件
        3.在style标签中事先写好.over和.out的背景颜色样式,分别是粉红色和白色
        4.在鼠标移入和移出事件实现中,分别让tr元素的class值分别为over和out
                            */
        let tr = document.getElementsByTagName("tr");
        for (let i = 0; i < tr.length; i++) {
        tr[i].onmouseover=function () {
            this.className="over"
        }
        tr[i].onmouseout=function () {
            this.className="out"
        }
    }
    }

</script>
上一篇:matlab练习程序(多圆交点)


下一篇:MVC easyui-switchbutton 和 checkbox 、radio 使用和赋值 JQ select 取值