有一个动态生产的表单,当点击复选框在点击编辑按钮的时候,把复选框的那一行内容渲染到表格里用js怎么实现
时间: 2024-02-18 15:00:58 浏览: 58
Angular将填入表单的数据渲染到表格的方法
您可以按照以下步骤来实现:
1. 给复选框和编辑按钮添加点击事件监听器。
2. 在复选框点击事件处理函数中,获取当前选中的行,可以使用 `event.target` 获取当前点击的复选框元素,然后通过 `parentNode` 属性获取到其所在的行元素。
3. 在编辑按钮点击事件处理函数中,获取当前选中的行,并且把该行的内容渲染到表格中。
下面是一个参考代码示例:
```javascript
// 1. 给复选框和编辑按钮添加点击事件监听器
const checkboxes = document.querySelectorAll('input[type="checkbox"]');
const editBtn = document.querySelector('#edit-btn');
for (let i = 0; i < checkboxes.length; i++) {
checkboxes[i].addEventListener('click', handleCheckboxClick);
}
editBtn.addEventListener('click', handleEditBtnClick);
// 2. 在复选框点击事件处理函数中,获取当前选中的行
function handleCheckboxClick(event) {
const row = event.target.parentNode;
// 将选中的行保存到全局变量中,以便在编辑按钮的点击处理函数中使用
window.selectedRow = row;
}
// 3. 在编辑按钮点击事件处理函数中,获取当前选中的行,并且把该行的内容渲染到表格中
function handleEditBtnClick() {
const selectedRow = window.selectedRow;
// 获取该行中需要渲染到表格的数据
const data1 = selectedRow.querySelector('.data1').textContent;
const data2 = selectedRow.querySelector('.data2').textContent;
const data3 = selectedRow.querySelector('.data3').textContent;
// 将数据渲染到表格中
const table = document.querySelector('#table');
const newRow = table.insertRow(-1);
const cell1 = newRow.insertCell(0);
const cell2 = newRow.insertCell(1);
const cell3 = newRow.insertCell(2);
cell1.textContent = data1;
cell2.textContent = data2;
cell3.textContent = data3;
}
```
在这个示例中,我们假设每一行都包含三个列,分别是 `.data1`、`.data2` 和 `.data3`,并且我们要把这三列的内容渲染到表格中。您需要根据实际情况进行调整。
阅读全文