Javascript 如何将数据传递到DataTable.JS列的defaultContent中

Javascript 如何将数据传递到DataTable.JS列的defaultContent中,javascript,jquery,datatables,Javascript,Jquery,Datatables,我是Javascript新手,我的表使用了DataTables.js。我需要添加一些管理按钮(编辑、删除、打开),所以我将它们添加到列中 要使这些按钮正常工作,我需要将表格的id传递给按钮数据目标 我尝试了此代码,但没有成功: "columns": [ { "data" : "id" }, { "data" : "status" }, { "data" : "opened_at" }, { "data" : "last_answer

我是Javascript新手,我的表使用了DataTables.js。我需要添加一些管理按钮(编辑、删除、打开),所以我将它们添加到列中

要使这些按钮正常工作,我需要将表格的
id
传递给按钮
数据目标

我尝试了此代码,但没有成功:

"columns": [
        { "data" : "id" },
        { "data" : "status" },
        { "data" : "opened_at" },
        { "data" : "last_answer" },
        {
            "data": null,
            "defaultContent": '<button id="actionButton" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Aktion</button><div class="dropdown-menu" aria-labelledby="actionButton"><a class="dropdown-item" data-toggle="modal" data-target="#ticketModal'+data[0]+'" href="#">Ticket öffnen</a><a class="dropdown-item" href="#" onclick="reopenTicket('+data[0]+')">Ticket neu öffnen.</a><a class="dropdown-item" href="#" onclick="closeTicket('+data[0]+')">Ticket schließen</a><a class="dropdown-item" href="#">Ticket löschen</a></div>',
            "targets": -1
        }
    ]
中的“defaultContent”:

我需要传递此
数据目标中的行ID

这怎么可能<代码>数据[0]
不起作用,但它是如何工作的? 我需要ID以使我单击某个按钮时调用的函数正常工作:

function closeTicket(id) {
    var url = "api.php?closeTicket="+id;

    http = new XMLHttpRequest();
    http.open("GET", url, true);
    http.send(null);
    location.reload();
}


<a class="dropdown-item" href="#" onclick="closeTicket('+data[0]+')">Ticket schließen</a>
功能关闭通知单(id){
var url=“api.php?closeTicket=“+id;
http=newXMLHttpRequest();
http.open(“GET”,url,true);
http.send(空);
location.reload();
}
尝试以下代码:

"columns": [
        { "data" : "id" },
        { "data" : "status" },
        { "data" : "opened_at" },
        { "data" : "last_answer" },
        {
            "data": null,
            render:function(data, type, row)
            {
              return '<button id="actionButton" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Aktion</button><div class="dropdown-menu" aria-labelledby="actionButton"><a class="dropdown-item" data-toggle="modal" data-target="#ticketModal'+data[0]+'" href="#">Ticket öffnen</a><a class="dropdown-item" href="#" onclick="reopenTicket('+data[0]+')">Ticket neu öffnen.</a><a class="dropdown-item" href="#" onclick="closeTicket('+data[0]+')">Ticket schließen</a><a class="dropdown-item" href="#">Ticket löschen</a></div>';
            },
            "targets": -1
        }
    ]
“列”:[
{“数据”:“id”},
{“数据”:“状态”},
{“数据”:“在”}打开,
{“数据”:“最后的答案”},
{
“数据”:空,
呈现:函数(数据、类型、行)
{
返回“Aktion”;
},
“目标”:-1
}
]

@Shiva-Manhar中,使用行.id而不是数据[0]回答同样有效

如果不需要将Id显示为列,另一种方法是:

"columns": [
        { "data" : "status" },
        { "data" : "opened_at" },
        { "data" : "last_answer" },
        {
            "data": "id",
            render:function(data, type, row)
            {
              return '<button id="actionButton" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Aktion</button><div class="dropdown-menu" aria-labelledby="actionButton"><a class="dropdown-item" data-toggle="modal" data-target="#ticketModal' + data +'" href="#">Ticket öffnen</a><a class="dropdown-item" href="#" onclick="reopenTicket('+ data +')">Ticket neu öffnen.</a><a class="dropdown-item" href="#" onclick="closeTicket('+ data +')">Ticket schließen</a><a class="dropdown-item" href="#">Ticket löschen</a></div>';
            }
        }
    ]
“列”:[
{“数据”:“状态”},
{“数据”:“在”}打开,
{“数据”:“最后的答案”},
{
“数据”:“id”,
呈现:函数(数据、类型、行)
{
返回“Aktion”;
}
}
]
对我不起作用:(.Gettin
未捕获的语法错误:意外字符串
错误。无论如何,忘记了
渲染函数后的
。谢谢你的帮助:)我认为
数据[“id”]
就足够了!!
"columns": [
        { "data" : "status" },
        { "data" : "opened_at" },
        { "data" : "last_answer" },
        {
            "data": "id",
            render:function(data, type, row)
            {
              return '<button id="actionButton" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Aktion</button><div class="dropdown-menu" aria-labelledby="actionButton"><a class="dropdown-item" data-toggle="modal" data-target="#ticketModal' + data +'" href="#">Ticket öffnen</a><a class="dropdown-item" href="#" onclick="reopenTicket('+ data +')">Ticket neu öffnen.</a><a class="dropdown-item" href="#" onclick="closeTicket('+ data +')">Ticket schließen</a><a class="dropdown-item" href="#">Ticket löschen</a></div>';
            }
        }
    ]