我通常用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