(四)制作下图所示的页面,实现:(本题20分) 1.点击全选复选框时,全选下面四个复选框,再点全选复选框时取消全选; 2.当鼠标进入表格和离开表格时,改变表格背景色,颜色自定义; 3.点击删除按钮时,判断是否有复选框被选中,如果没有复选框被选中则提示用户进行选择,否则确认删除,并从表格中删除相应行。
时间: 2024-03-11 11:47:12 浏览: 122
可以使用以下代码实现上述功能:
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表格操作</title>
<style type="text/css">
table {
border-collapse: collapse;
margin: 20px;
}
th, td {
padding: 10px;
border: 1px solid black;
}
.header {
background-color: #CCCCCC;
}
.even {
background-color: #F7F7F7;
}
.odd {
background-color: #FFFFFF;
}
.selected {
background-color: #FFCCCC;
}
</style>
</head>
<body>
<table>
<tr class="header">
<th><input type="checkbox" id="checkAll"></th>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>城市</th>
<th>操作</th>
</tr>
<tr class="odd">
<td><input type="checkbox" class="checkItem"></td>
<td>1</td>
<td>张三</td>
<td>20</td>
<td>北京</td>
<td><button class="deleteBtn">删除</button></td>
</tr>
<tr class="even">
<td><input type="checkbox" class="checkItem"></td>
<td>2</td>
<td>李四</td>
<td>25</td>
<td>上海</td>
<td><button class="deleteBtn">删除</button></td>
</tr>
<tr class="odd">
<td><input type="checkbox" class="checkItem"></td>
<td>3</td>
<td>王五</td>
<td>30</td>
<td>广州</td>
<td><button class="deleteBtn">删除</button></td>
</tr>
<tr class="even">
<td><input type="checkbox" class="checkItem"></td>
<td>4</td>
<td>赵六</td>
<td>35</td>
<td>深圳</td>
<td><button class="deleteBtn">删除</button></td>
</tr>
</table>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
// 全选/取消全选
$("#checkAll").click(function() {
$(".checkItem").prop("checked", $(this).prop("checked"));
});
// 表格行背景色变化
$("tr").hover(
function() {
$(this).addClass("selected");
},
function() {
$(this).removeClass("selected");
}
);
// 删除按钮点击事件
$(".deleteBtn").click(function() {
var checkedItems = $(".checkItem:checked");
if (checkedItems.length === 0) {
alert("请至少选择一项进行删除!");
} else {
if (confirm("确定删除选中的数据吗?")) {
checkedItems.each(function() {
$(this).parents("tr").remove();
});
}
}
});
});
</script>
</body>
</html>
```
CSS样式中定义了表格的基本样式,以及鼠标经过时和选中时的行背景色。表格中每行的第一个单元格都是复选框,用于选择要删除的行。全选复选框的 ID 为 `checkAll`,每个单元格复选框的类名为 `checkItem`,删除按钮的类名为 `deleteBtn`。
JavaScript代码中使用了 jQuery 库来简化代码,实现了三个功能:
1. 全选/取消全选:当全选复选框被选中时,将所有单元格复选框的选中状态与全选复选框保持一致;当全选复选框取消选中时,将所有单元格复选框都取消选中状态。
2. 表格行背景色变化:使用 jQuery 的 `hover()` 方法,当鼠标进入或离开行时,分别添加或删除 `selected` 类名,改变行的背景色。
3. 删除按钮点击事件:当点击删除按钮时,首先判断是否有复选框被选中,如果没有则弹出提示框;否则,弹出确认框,确认删除选中的数据。如果确认删除,则遍历每个被选中的复选框,找到对应的行,从表格中删除该行。
阅读全文