我有一个自动生成表格,可以像这样插入单元格到表格中
window.addEventListener('load', function() {
web3.eth.getAccounts().then((acco) =>{
for(var i = 0 ; i <= lenght ; i++){
myContract.methods.contractmanager(acco[0] , i).call().then((res)=>{
var table = document.getElementById("tb");
var row = table.insertRow(i + 1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var cell5 = row.insertCell(4);
var cell6 = row.insertCell(5);
cell1.innerHTML = res[0];
cell2.innerHTML = res[1];
cell3.innerHTML = res[2];
cell4.innerHTML = res[3];
cell5.innerHTML = res[4];
cell6.innerHTML = res[5];
});
}
});
});它从智能合约中获取数据,每个对象创建一行,我希望第一列可单击,并且每次单击列的每个单元格时,我都希望使用该单元格中的数据执行一个函数
发布于 2021-07-08 05:03:56
可以使用addEventListener('click')在第一个单元格上添加事件
然后,您可以使用此事件显示所需的内容。
const data = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16],
]
var table = document.getElementById("tb");
for (let res of data) {
var row = table.insertRow(1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
cell1.innerHTML = res[0];
cell1.addEventListener('click', function() {
console.log("You clicked on the first cell")
console.log(res)
//do what you want
})
cell2.innerHTML = res[1];
cell3.innerHTML = res[2];
cell4.innerHTML = res[3];
}<div class="content">
<table id="tb">
<tbody>
<tr></tr>
</tbody>
</table>
</div>
https://stackoverflow.com/questions/68292793
复制相似问题