问题描述
我试图通过两种方式在数据表中显示数据:
- 父行的数据来自用户不应编辑的表
- “子级”行的数据来自用户应编辑的表
我将它们全部传递通过一个数组,在“子行”中,我从数组索引中调用数据,然后分配“编辑”按钮以调用编辑方法。
数据正确显示在我的子行中,但是每当我按下编辑按钮以调用我的模态时,都会出现错误,提示“未捕获的ReferenceError:d未定义”和“未捕获的TypeError:无法读取属性'11'出现”。
这是我的Datatable JavaScript代码:
$(document).ready(function() {
var table = $('#table_roster').DataTable({
"processing": true,ajax: "/getproposals",deferRender: true,scrollX: true,scrollY: 400,scrollCollapse: true,scroller: true,dom: 'Bfrtip',});
$('#table_roster tbody').on('click','tr',function () {
var tr = $(this).closest('tr');
var row = table.row( tr );
// editRow(row.data());
if ( row.child.isShown() ) {
row.child.hide();
tr.removeClass('shown');
}
else {
row.child( format(row.data()) ).show();
tr.addClass('shown');
}
});
这是函数format()
function format ( d ) {
console.log(d)
return '<table id="table_child" cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'+
'<tr>'+
'<td>IRG:</td>'+
'<td>'+d[11]+'</td>'+
'<td>IRG Date:</td>'+
'<td>'+d[12]+'</td>'+
'<td>Council Cycle:</td>'+
'<td>'+d[13]+'</td>'+
'<td>Score:</td>'+
'<td>'+d[14]+'</td>'+
'<td>Percentile:</td>'+
'<td>'+d[15]+'</td>'+
'<td>Assessment:</td>'+
'<td>'+d[16]+'</td>'+
'<td>'+
'<button class="btn" onclick="editRow(d)">'+
'Edit'+
'</button>'+
'</td>'+
'</tr>'+
'</table>';
}
谢谢:)
解决方法
我通过在方法中初始化d来解决了这个问题。
ForResult()