前端jqrey <tr><td></td><td></td></tr> 动态渲染表单
时间: 2023-11-11 15:06:17 浏览: 100
前端jQuery可以使用append()方法来动态渲染表格。通过使用append()方法,您可以动态地向表格中添加行和单元格,并在其中插入内容。以下是一个示例代码,展示了如何使用jQuery动态渲染表格:
```javascript
// 创建一个新的行,并插入表格中
var newRow = $("<tr></tr>");
// 创建两个新的单元格,并插入行中
var cell1 = $("<td></td>").text("内容1");
var cell2 = $("<td></td>").text("内容2");
// 将单元格插入行中
newRow.append(cell1);
newRow.append(cell2);
// 将行插入表格中
$("table").append(newRow);
```
这段代码将在表格中动态插入一个新的行,并在该行中添加两个单元格,每个单元格都有不同的内容。您可以根据需要修改和扩展此代码来满足您的具体需求。
相关问题
● 点击编辑功能, 把值赋予到输入框上 ● : 用户修改后, 点击相同按钮 <template> <div id="app"> <div> <span>姓名:</span> <input type="text" /> </div> <div> <span>年龄:</span> <input type="number" /> </div> <div> <span>性别:</span> <select > <option value="男">男</option> <option value="女">女</option> </select> </div> <div> <button >添加/修改</button> </div> <div> <table border="1" cellpadding="10" cellspacing="0" > <tr> <th>序号</th> <th>姓名</th> <th>年龄</th> <th>性别</th> <th>操作</th> </tr> <tr > <td></td> <td></td> <td></td> <td></td> <td> <button >删除</button> <button >编辑</button> </td> </tr> </table> </div> </div> </template> <script> export default { } </script>
可以使用 Vue.js 来实现这个功能,具体的代码如下:
<template>
<div id="app">
<div>
<span>姓名:</span>
<input type="text" v-model="name" />
</div>
<div>
<span>年龄:</span>
<input type="number" v-model="age" />
</div>
<div>
<span>性别:</span>
<select v-model="gender">
<option value="男">男</option>
<option value="女">女</option>
</select>
</div>
<div>
<button @click="addOrUpdate">添加/修改</button>
</div>
<div>
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<th>序号</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>操作</th>
</tr>
<tr v-for="(item, index) in dataList" :key="index">
<td>{{ index + 1 }}</td>
<td>{{ item.name }}</td>
<td>{{ item.age }}</td>
<td>{{ item.gender }}</td>
<td>
<button @click="deleteItem(index)">删除</button>
<button @click="editItem(index)">编辑</button>
</td>
</tr>
</table>
</div>
</div>
</template>
<script>
export default {
data() {
return {
name: "",
age: "",
gender: "男",
dataList: [],
editIndex: -1, // 当前正在编辑的数据的索引
};
},
methods: {
addOrUpdate() {
if (this.editIndex === -1) {
// 添加数据
this.dataList.push({
name: this.name,
age: this.age,
gender: this.gender,
});
} else {
// 修改数据
this.dataList[this.editIndex].name = this.name;
this.dataList[this.editIndex].age = this.age;
this.dataList[this.editIndex].gender = this.gender;
this.editIndex = -1;
}
// 清空表单
this.name = "";
this.age = "";
this.gender = "男";
},
deleteItem(index) {
this.dataList.splice(index, 1);
},
editItem(index) {
this.editIndex = index;
// 把当前正在编辑的数据的值赋给表单
this.name = this.dataList[index].name;
this.age = this.dataList[index].age;
this.gender = this.dataList[index].gender;
},
},
};
</script>
在这个代码中,我们使用了 Vue.js 的数据绑定和列表渲染等功能,实现了添加、修改、删除和编辑数据的功能。其中,添加和修改数据的方法是通过判断 editIndex 是否为 -1 来实现的,如果是 -1,就表示当前是添加数据,否则就是修改数据。编辑数据的方法则是把当前正在编辑的数据的值赋给表单,并保存正在编辑的数据的索引。删除数据的方法使用了 splice 方法,根据索引删除指定的数据。
<h1>通讯录</h1> <button class="add-btn">添加联系人</button> <table> <thead> <tr> <th>姓名</th> <th>电话</th> <th>邮箱</th> <th>操作</th> </tr> </thead> <tbody> <!-- 数据渲染 --> </tbody> </table> <!-- 弹出层,用于添加或编辑联系人 --> <div id="modal" style="display: none;"> <form> <div class="form-group"> <label for="name">姓名</label> <input type="text" id="name" name="name" required> </div> <div class="form-group"> <label for="phone">电话</label> <input type="text" id="phone" name="phone" required> </div> <div class="form-group"> <label for="email">邮箱</label> <input type="text" id="email" name="email" required> </div> <button id="save-btn">保存</button> <button id="cancel-btn">取消</button> </form> </div>帮我给这个页面用JavaScript和css3美化一下
好的,下面是一个简单的示例代码,你可以根据自己的需要进行修改:
HTML:
```
<h1>通讯录</h1>
<button class="add-btn">添加联系人</button>
<table>
<thead>
<tr>
<th>姓名</th>
<th>电话</th>
<th>邮箱</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<!-- 数据渲染 -->
</tbody>
</table>
<!-- 弹出层,用于添加或编辑联系人 -->
<div id="modal" class="modal" style="display: none;">
<div class="modal-content">
<span class="close">×</span>
<form>
<div class="form-group">
<label for="name">姓名</label>
<input type="text" id="name" name="name" required>
</div>
<div class="form-group">
<label for="phone">电话</label>
<input type="text" id="phone" name="phone" required>
</div>
<div class="form-group">
<label for="email">邮箱</label>
<input type="text" id="email" name="email" required>
</div>
<button id="save-btn">保存</button>
<button id="cancel-btn">取消</button>
</form>
</div>
</div>
```
CSS:
```
/* 弹出层样式 */
.modal {
display: none; /* 默认隐藏 */
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.4); /* 添加半透明背景 */
}
.modal-content {
background-color: #fefefe;
margin: 10% auto;
padding: 20px;
border: 1px solid #888;
width: 40%;
}
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
/* 表格样式 */
table {
border-collapse: collapse;
width: 100%;
}
th, td {
text-align: left;
padding: 8px;
}
th {
background-color: #4CAF50;
color: white;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
tr:hover {
background-color: #ddd;
}
/* 按钮样式 */
button {
background-color: #4CAF50;
color: white;
border: none;
padding: 10px;
margin: 5px;
cursor: pointer;
}
button:hover {
background-color: #3e8e41;
}
/* 表单样式 */
.form-group {
margin-bottom: 10px;
}
label {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
input[type=text] {
width: 100%;
padding: 10px;
border-radius: 3px;
border: 1px solid #ccc;
box-sizing: border-box;
}
button#save-btn {
background-color: #4CAF50;
color: white;
border: none;
padding: 10px 20px;
margin-top: 10px;
cursor: pointer;
}
button#cancel-btn {
background-color: #ccc;
color: white;
border: none;
padding: 10px 20px;
margin-top: 10px;
cursor: pointer;
}
button#save-btn:hover {
background-color: #3e8e41;
}
button#cancel-btn:hover {
background-color: #bbb;
}
```
JavaScript:
```
// 获取元素
var modal = document.getElementById("modal");
var addBtn = document.querySelector(".add-btn");
var closeBtn = document.querySelector(".close");
// 点击添加联系人按钮,弹出添加联系人窗口
addBtn.addEventListener("click", function() {
modal.style.display = "block";
});
// 点击关闭按钮或者弹出层之外的区域,关闭弹出层
closeBtn.addEventListener("click", function() {
modal.style.display = "none";
});
window.addEventListener("click", function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
});
```
阅读全文