Javascript 如何将数据传递到DataTable.JS列的defaultContent中
我是Javascript新手,我的表使用了DataTables.js。我需要添加一些管理按钮(编辑、删除、打开),所以我将它们添加到列中 要使这些按钮正常工作,我需要将表格的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
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>';
}
}
]