我通常用Render -option来解决这样的挑战。而且我通常在表格的第一列中包含像id这样的东西 - 例如 - 不需要在表格中显示。因此,我会为col1分配一个渲染方法,这会简单地创建必要的HTML来插入按钮控件(这可能会触发服务器上可能链接到id的一些操作 - 该单元的数据。那么这一切组合在一起很好;-))
展示一些代码:
...
render: function(data,type,row,meta)
{
var img=data;
if (type=="display") {img = '<img src="</Examples/Data/index/' + data + '.png" />';}
return img;
}
...
,或者插入默认的内容和使用的onClick-事件注入ID。所以,这山坳的定义是一样的东西......
{
"className": "details-control" ,
"data": null ,
"defaultContent": '<span class=" fa fa-info-circle"></span>' ,
"width": "12px" ,
"orderable":false
}
和DataTable的呼叫后,指定的onClick处理程序要插入的显示细节行:
$('#DieListe tbody').on('click', 'td.details-control', function() {
var tr = $(this).closest('tr');
var row = table.row(tr); // get DataTable Row-Object
var the_id = row.data()[0]; // Data[0]=id of record!
$.ajax({
method: "GET" ,
dataType: "text" ,
url: path + "listen_details",
data: {id: the_id} ,
success: function(result){
if (row.child.isShown()){
tr.removeClass('shown');
row.child.hide();
}
else {
tr.addClass('shown');
row.child(format(result)).show();
}
} ,
error: function(xhr,status,error) {
// log error:
console.log(xhr);
console.log(status);
console.log(error);
}
});
});
你的意思是自定义列? –
是自定义列 – piyush
[本示例](http://www.gyrocode.com/articles/jquery-datatables-how-to-add-a-checkbox-column/)介绍了如何使用渲染器来显示表格单元格。该示例实际上使用复选框,但原理是完全相同的 – markpsmith