我在JQuery中使用DataTable创建了一个表(在documentReady上)。
table = $('#transaction').DataTable({
"ajax": {
"url": "servicingTransactionsLoad.do",
"type": "GET",
"dataSrc": function (json) {
for (var i = 0, ien = json.transactions.length; i < ien; i++) {
json.transactions[i].date = '<i class="icon-expand-handle color--secondary9 fa fa-plus"></i> ' + json.transactions[i].date;
}
return json.transactions;
}
},
"columns": [
{ "data": "date" },
{ "data": "description" },
{ "data": "channel" },
{ "data": "amount" }
],
"order": [
[ 0, "desc" ]
]
});
当您单击要展开的行并提供额外信息时,我会触发一个事件:
$('#transaction tbody').on('click', 'tr', function () {
var tr = $(this).closest('tr');
var row = table.row( tr );
if ( row.child.isShown() ) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
tr.find('.icon-expand-handle').removeClass('fa-minus');
tr.find('.icon-expand-handle').addClass('fa-plus');
}
else {
// Open this row
row.child( createExpand2(row.data()) ).show();
tr.addClass('shown');
tr.find('.icon-expand-handle').removeClass('fa-plus');
tr.find('.icon-expand-handle').addClass('fa-minus');
}
});
createExpand2是一个构建表的方法,该表作为子项添加以提供额外的信息。
function createExpand2 (d) {
// `d` is the original data object for the row
return '<table width="100%" border="0" cellspacing="0" cellpadding="0">'+
'<tr>'+
'<td class="col-sm-3">Date Posted:'+
'<br>' + d.datePosted+'</td>'+
'<td class="col-sm-4">Merchant'+
'<br>' + d.merchantName + '</td>'+
'<td class="col-sm-3"></td>'+
'<td class="col-sm-3">Miles Value'+
'<br>'+ d.milesValue + '<br><a href="javascript:void(0);">Show calculation and detail</a></td>' +
'</tr>'+
'</table>';
}
现在,如果单击href链接,我需要将行展开到第三级。我基本上想调用类似于expand2的方法。它应该将相同的数据传递给方法(因为我将只使用该对象的不同部分)。我不确定下一步是什么。目前,如果我点击第一个孩子,我可以在控制台中看到错误(我认为这是因为如果你点击表格的任何一行就会触发事件)。那么我只是用某种IF语句修改expand2(以确定我们是在主行还是孩子)?或者,当您单击href链接以打开第三行并仍然可以访问“d”数据对象时,我是否会使用不同的事件方法(以及什么?)。
由于
答案 0 :(得分:0)
如果使用jQuery方法而不是字符串创建第二级,则可以轻松地将单击事件附加到它,然后使用它来扩展第三级
05-08 18:38:45.577 7028-7028/org.azurespot.awesomesde I/LINKEDIN RESPONSE:: {"StatusCode":200,"responseData":"{\n \"firstName\": \"AFirstName\",\n \"id\": \"hZvMRB-3Yg\",\n \"lastName\": \"ALastName\"\n}","Location":""}
此链接显示动态构建行,您可以将点击侦听器添加到