javascript - DataTables 函数 - table.row.add ,不使用表内的按钮(javascript)

标签 javascript datatable datatables

我正在使用 DataTables 库来创建带有“下载”按钮的表。

在第一行,按钮可以工作,但在其余行则不起作用(我正在使用循环将数据输入到表中)。

我做错了什么?

JS 代码:

snapshot.forEach(function(childSnapshot) {
 var childData = childSnapshot.val();
 number = childData.Number;
 table.row.add( [
       number,
       "<button id='script'>Download Files</button>"
    ] ).draw( false );
 button = document.getElementById('script');
 button.onclick = function(){ myScript(number)};
});

最佳答案

您创建了许多具有相同 id 的按钮,因此 document.getElementById('script'); 将始终返回具有该 id 的相同第一个元素。

你可以尝试这样的事情:

snapshot.forEach(function(childSnapshot, i) {
 var childData = childSnapshot.val();
 number = childData.Number;
 table.row.add( [
       number,
       `<button id='script${i}'>Download Files</button>`
    ] ).draw( false );
 button = document.getElementById(`script${i}`);
 button.onclick = function(){ myScript(number)};
});

关于javascript - DataTables 函数 - table.row.add ,不使用表内的按钮(javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54666205/

相关文章:

r - 在 Shiny 中使用过滤数据表

javascript - 您可以使用 Google Maps JavaScript API v3 在同一页面上显示多个带有路线的 map 吗?

java - 如何将 JSON 数组从服务器发送到客户端,即(java 到 AJAX/Javascript)?

javascript - Datatable jquery分页和colreorder

javascript - 将数据表导出按钮移至表底部

javascript - ajax拉取数据成功后数据表再次初始化

javascript - 选择 :after element not working in Jquery selector

javascript - node.js 嵌套 http req 对象未定义 - bodyParser.urlencoded({ 扩展 : true } not working

c# - 在 C# 中更新 DataRow 时遇到问题

javascript - Jquery 数据表按钮不起作用?