js根据数组动态生成表格,每行有一个详情按钮,点击详情按钮获取本行的数据
时间: 2023-12-17 21:05:00 浏览: 78
可以通过以下步骤实现:
1. 创建一个数组来存储表格数据,每个元素代表一行数据,可以是对象或数组。
2. 创建一个函数,用于动态生成表格。可以使用`<table>`、`<tr>`、`<td>`等HTML标签来创建表格,并使用JavaScript循环遍历数组中的元素,逐行添加到表格中。
3. 在每行末尾添加一个详情按钮,可以使用`<button>`标签来创建,同时为每个按钮添加一个`click`事件监听器。
4. 在`click`事件处理函数中,获取当前按钮所在行的数据,可以通过父元素、DOM节点属性等方式获取。然后可以将数据传递给另一个函数来显示详情,比如弹出一个模态框或者页面跳转。
以下是一个简单的示例代码,仅供参考:
```html
<table id="myTable"></table>
<script>
// 表格数据
const data = [
{ name: 'Alice', age: 20, gender: 'Female' },
{ name: 'Bob', age: 25, gender: 'Male' },
{ name: 'Charlie', age: 30, gender: 'Male' },
];
// 动态生成表格
function generateTable() {
const table = document.getElementById('myTable');
for (let i = 0; i < data.length; i++) {
const row = table.insertRow();
const cell1 = row.insertCell();
const cell2 = row.insertCell();
const cell3 = row.insertCell();
const cell4 = row.insertCell();
cell1.innerHTML = data[i].name;
cell2.innerHTML = data[i].age;
cell3.innerHTML = data[i].gender;
const btn = document.createElement('button');
btn.innerHTML = 'Details';
btn.addEventListener('click', () => {
showDetails(data[i]);
});
cell4.appendChild(btn);
}
}
// 显示详情
function showDetails(rowData) {
console.log(rowData); // 或者弹出模态框等其他操作
}
generateTable();
</script>
```
阅读全文