写一个含有增删改的表格
时间: 2024-03-27 12:37:33 浏览: 7
好的,这里给您展示一个基于HTML和JavaScript的增删改表格:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>增删改表格</title>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
text-align: left;
padding: 8px;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
th {
background-color: #4CAF50;
color: white;
}
</style>
</head>
<body>
<h2>增删改表格</h2>
<button onclick="addRow()">添加行</button>
<table id="myTable">
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>20</td>
<td>男</td>
<td>
<button onclick="editRow(this)">编辑</button>
<button onclick="deleteRow(this)">删除</button>
</td>
</tr>
<tr>
<td>李四</td>
<td>22</td>
<td>女</td>
<td>
<button onclick="editRow(this)">编辑</button>
<button onclick="deleteRow(this)">删除</button>
</td>
</tr>
<tr>
<td>王五</td>
<td>25</td>
<td>男</td>
<td>
<button onclick="editRow(this)">编辑</button>
<button onclick="deleteRow(this)">删除</button>
</td>
</tr>
</tbody>
</table>
<script>
function addRow() {
var table = document.getElementById("myTable").getElementsByTagName("tbody")[0];
var newRow = table.insertRow(table.rows.length);
var cells = [];
for (var i = 0; i < 4; i++) {
cells[i] = newRow.insertCell(i);
if (i === 3) {
cells[i].innerHTML = '<button onclick="editRow(this)">编辑</button><button onclick="deleteRow(this)">删除</button>';
} else {
cells[i].innerHTML = '<input type="text">';
}
}
}
function editRow(button) {
var row = button.parentNode.parentNode;
var cells = row.getElementsByTagName("td");
for (var i = 0; i < 3; i++) {
cells[i].innerHTML = '<input type="text" value="' + cells[i].textContent + '">';
}
button.parentNode.innerHTML = '<button onclick="saveRow(this)">保存</button><button onclick="cancelEdit(this)">取消</button>';
}
function saveRow(button) {
var row = button.parentNode.parentNode;
var cells = row.getElementsByTagName("td");
for (var i = 0; i < 3; i++) {
cells[i].innerHTML = cells[i].getElementsByTagName("input")[0].value;
}
button.parentNode.innerHTML = '<button onclick="editRow(this)">编辑</button><button onclick="deleteRow(this)">删除</button>';
}
function cancelEdit(button) {
var row = button.parentNode.parentNode;
var cells = row.getElementsByTagName("td");
for (var i = 0; i < 3; i++) {
cells[i].innerHTML = cells[i].getElementsByTagName("input")[0].getAttribute("value");
}
button.parentNode.innerHTML = '<button onclick="editRow(this)">编辑</button><button onclick="deleteRow(this)">删除</button>';
}
function deleteRow(button) {
var row = button.parentNode.parentNode;
row.parentNode.removeChild(row);
}
</script>
</body>
</html>
```
这个表格包含姓名、年龄、性别三个列,以及一个操作列,操作列包含编辑和删除两个按钮。新增行时,会在表格的最后一行添加一行空白行,其中操作列包含编辑和删除按钮。编辑行时,该行的姓名、年龄、性别三个列会变成可编辑的文本框,保存和取消按钮会替换编辑和删除按钮。保存行时,将文本框中的值更新到表格中,并替换保存和取消按钮为编辑和删除按钮。取消编辑时,将文本框中的值恢复为原来的值,并替换保存和取消按钮为编辑和删除按钮。删除行时,直接从表格中删除该行。