如何为数据表中的按钮分配ID?

时间:2018-07-11 09:52:08

标签: javascript jquery json datatable

我有一张桌子,里面有一些内容和“编辑”按钮。这是产生数据表的代码:

MAX(date) OVER (PARTITION BY customer).

每行应有一个用于编辑指定行的编辑按钮。为此,我需要一个$(document).ready(function() { var params = {}; callFunction("getAgentList", params, function(bSuccess, res) { var table = $('#example').DataTable({ data: res, "columns": [ { "data": "ID" }, { "data": "Name" }, { "data": "AltName1" }, { "data": "AltName2" }, { "data": "AltName3" }, { "data": "AltName4" }, { "data": "AltName5" }, { "data": "AltName6" }, { "data": "AltName7" }, { "data": "AltName8" }, { "data": "AltName9" }, { "data": "AltName10" }, { "orderable": false, "data": null, "defaultContent": '<button class="btn btn-warning" id='+res+' onclick="edit(this)">Edit</button>' }, ], "order": [ [1, 'asc'] ] }); } ); }); JSON中具有的ID。但是我不确定如何获取每个编辑按钮的ID?

现在,如果我只放入res,则得到Object或使用res时,它是未定义的。这是有道理的,因为我需要遍历数组...

有人吗?

编辑

这是res.ID JSON:

res

如果我将ID设置为{ AltName1: "Test1", AltName10: "", AltName2: "Test1Alt", AltName3: "Test1", AltName4: "Test1", ID: "1" } { AltName1: "Test2", AltName10: "", AltName2: "", AltName3: "", AltName4: "", ID: "2" }

然后所有按钮具有相同的ID。

2 个答案:

答案 0 :(得分:1)

在JavaScript中将所有首字母更改为小写,然后使用数据表的呈现功能:

 { "targets": 0, "data": 'iD' },
{ "targets": 1, "data": 'name' },
{ "targets": 2, "data": 'altName1' },
{ "targets": 3, "data": 'altName2' },
{ "targets": 4, "data": 'altName3' },
{ "targets": 5, "data": 'altName4' },
{ .... },
{
    "targets": 6,
    "data": 'iD',
    "render": function (data, type, row, meta) {
        return '<button class="btn btn-warning" id='+data+' onclick="edit(this)">Edit</button>'
    }
}

在render函数中,您可以通过不同的方式访问ID: 1:“数据”:“ iD”,然后使用数据(就像我一样) 2:“数据”:“您想要的任何东西”,然后使用:row.iD

还请注意,您需要在ID之前添加前缀,以避免重复的ID(我一直这样做)

答案 1 :(得分:0)

只需尝试

"defaultContent": '<button class="btn btn-warning" id='+ID+' onclick="edit('+ID+')">Edit</button>'