有没有更好的方法在angular-datatables中显示嵌套表? 我通过使用rowCallback并设置click事件解决了我的问题:
$scope.dtOptions = DTOptionsBuilder.fromSource('data.json')
.withOption('rowCallback', rowCallback)
在单击处理程序中,我获取dt-instance并使用数据表实例中的行数据构建html。
function rowCallback(tabRow, data, dataIndex) {
$(tabRow).unbind('click');
$(tabRow).on('click', function () {
console.log('click');
$(this).find('.a1-icon').toggleClass('fa-rotate-180');
var tr = $(tabRow);
var table = $scope.dtInstance.DataTable;
var row = table.row(tr);
if ( row.child.isShown() ) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
row.child( format(row.data()) ).show();
tr.addClass('shown');
}
});
}
但感觉有点奇怪,特别是角度。这是Plunker的完整简化代码http://plnkr.co/edit/gVf926obJKTXvXU7fLdA?p=preview
答案 0 :(得分:0)
$(tabRow).on('click', function () {})
//instead of this "on" event Use "load"
$(tabRow).load('click', function () {})