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

标签 javascript jquery json datatable

我有一个包含一些内容和编辑按钮的表格。这是生成数据表的代码:

$(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']
                ]
            });
        }
    );
});

每一行都应该有一个编辑按钮,用于编辑指定的行。为此,我需要一个 ID,我在 res 中拥有该 ID。 JSON。但我不确定如何获取每个编辑按钮的 ID?

现在如果我只输入 res我得到 Object 或 res.ID它是未定义的。这是有道理的,因为我需要循环数组...

有人吗?

编辑

这是res JSON:

{ AltName1: "Test1", AltName10: "", AltName2: "Test1Alt", AltName3: "Test1", AltName4: "Test1", ID: "1" }
{ AltName1: "Test2", AltName10: "", AltName2: "", AltName3: "", AltName4: "", ID: "2" }

如果我将id设置为<button class="btn btn-warning" id='+res[0].ID+' onclick="edit(this)">Edit</button>

那么所有按钮都有相同的 ID。

最佳答案

在JavaScript中将所有首字母更改为小写,然后使用datatable的render函数:

 { "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>'
    }
}

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

另请注意,您需要在 ID 前添加前缀以避免重复的 ID(我总是这样做)

关于javascript - 如何为数据表中的按钮分配 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51282392/

相关文章:

javascript - 如何在 EXTJS 中仅单击树面板的最后一个子元素时触发事件

jQuery mousemove 性能 - 节流事件?

javascript - 在 JavaScript 中创建数组集合?

javascript - 如何访问属性 :value pairs in this JSON

javascript - 如何使用 ExpressJS 将 JSON 作为 UTF-8 发送?

javascript - 如何从javascript中的json字符串中过滤 "\"

javascript - JSON.parse 转换为字符串而不是传入数组

javascript - html/jquery 的 if 语句

javascript - 插页式广告(异步广告),无需在网站上放置任何代码

javascript - CSS3从所有边界调整div的大小