day5 表单的全选和表格样式的新体会

效果图展示

在这里插入图片描述
以上为实现效果,可以一键全选,可以一件全不选,也可以删除勾选的数据。
在表格样式上我有了新的学习,见下图:
在这里插入图片描述

在设置完td的样式后,可以看到该表格的框有两条线,为了使其只显示一条线,可以加入以下代码:
border-collapse: collapse;

相关代码如下:
.add {
    background-color: aquamarine;
}

table {
    width: 600px;
    height: 300px;
    margin: auto;
    border-collapse: collapse;
}

table td {
    border: 3px solid pink;
    text-align: center;
}

如果想要外边框显示不同的颜色,只需要设定外边框比内边框粗就行,如下图:
在这里插入图片描述

相关代码
.add {
    background-color: aquamarine;
}

table {
    width: 600px;
    height: 300px;
    margin: auto;
    border: 4px solid plum;
    border-collapse: collapse;
}

table td {
    border: 3px solid pink;
    text-align: center;
}
完整代码如下
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>选择</title>
    <script type="text/javascript" src="tick.js"></script>
    <link rel="stylesheet" href="tick.css">
</head>

<body>
    <table>
        <tr>
            <td><input type="checkbox" name="ids" onclick="checkall();"></td>
            <td>用户id</td>
            <td>用户名</td>
        </tr>
        <tr id="tr1" onmouseover="addclass(1);" onmouseout="removeclass(1);">
            <td><input type="checkbox" name="ids" value="1" onclick="checkone();"></td>
            <td>1</td>
            <td>飞云</td>
        </tr>
        <tr id="tr2" onmouseover="addclass(2);" onmouseout="removeclass(2);">
            <td><input type="checkbox" name="ids" value="2" onclick="checkone();"></td>
            <td>2</td>
            <td>渝爱</td>
        </tr>
        <tr id="tr3" onmouseover="addclass(3);" onmouseout="removeclass(3);">
            <td><input type="checkbox" name="ids" value="3" onclick="checkone();"></td>
            <td>3</td>
            <td>青花</td>
        </tr>
        <tr id="tr4" onmouseover="addclass(4);" onmouseout="removeclass(4);">
            <td><input type="checkbox" name="ids" value="4" onclick="checkone();"></td>
            <td>4</td>
            <td>青露</td>
        </tr>
        <tr>
            <td colspan="3"><input type="button" value="删除" id="delbtn" onclick="deldata()"></td>
        </tr>
    </table>
</body>

</html>
function checkall() {
    var box = document.getElementsByName("ids");
    if (box[0].checked) {
        //console.log("打勾");
        for (var i = 0; i < box.length; i++) {
            box[i].checked = true;
        }
        document.getElementById("delbtn").disabled = '';
    } else {
        for (var i = 0; i < box.length; i++) {
            box[i].checked = false;
        }
        //console.log("取消打勾");
        document.getElementById("delbtn").disabled = 'disabled';
    }
}
//监听每个选项
function checkone() {
    var box = document.getElementsByName("ids");
    var result = true;//默认全选
    for (var i = 1; i < box.length; i++) {
        if (box[i].checked == false) {
            result = false;
            break;
        }
    }
    if (result == false) {
        box[0].checked = false;
    } else {
        box[0].checked = true;
    }

    var result1 = false;
    for (var i = 1; i < box.length; i++) {
        if (box[i].checked) {//有一条被选中,删除按钮就打开
            result1 = true;
            break;
        }
    }
    if (result1) {
        document.getElementById("delbtn").disabled = '';
    } else { document.getElementById("delbtn").disabled = 'disabled'; }
}
function deldata() {
    var box = document.getElementsByName("ids");
    var str = "";

    for (var i = 1; i < box.length; i++) {
        if (box[i].checked) {
            str += box[i].value + ",";
        }
    }
    //提醒
    if (confirm("确定删除id是" + str + "的数据吗")) {
        location.href = "http://baidu.com?ids" + str;
    } else {
        alert("你取消了删除操作");
    }
}
function addclass(index) {
    document.getElementById("tr" + index).className = 'add';
}
function removeclass(index) {
    document.getElementById("tr" + index).className = '';
}

相关知识点整理后面补。

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个实现js表单全选和取消全选的示例代码: HTML代码: ```html <form id="myForm"> <label><input type="checkbox" name="fruit" value="apple">苹果</label><br> <label><input type="checkbox" name="fruit" value="banana">香蕉</label><br> <label><input type="checkbox" name="fruit" value="orange">橙子</label><br> <label><input type="checkbox" name="fruit" value="watermelon">西瓜</label><br> <button type="button" onclick="selectAll()">全选</button> <button type="button" onclick="cancelAll()">取消全选</button> </form> ``` JavaScript代码: ```javascript function selectAll() { var checkboxes = document.getElementsByName("fruit"); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = true; } } function cancelAll() { var checkboxes = document.getElementsByName("fruit"); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = false; } } ``` 说明: 1. HTML代码中,给每个复选框元素添加了相同的name属性,表示它们属于同一组; 2. HTML代码中,分别添加了“全选”和“取消全选”两个按钮,并分别绑定了selectAll()和cancelAll()两个函数; 3. JavaScript代码中,分别实现了selectAll()和cancelAll()两个函数,用于全选和取消全选; 4. JavaScript代码中,使用document.getElementsByName()方法获取所有name属性为“fruit”的复选框元素,并使用循环遍历每个元素,设置其checked属性为true或false,从而实现全选和取消全选的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦昭昭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值