问题是,当我调用fnSelect时,我在chrome上收到错误:
Uncaught TypeError: Cannot read property 'nTr' of undefined
这是我的代码:
$('#ToolTables_table_id_0, #ToolTables_table_id_1').mousedown(function(){
var oTT = TableTools.fnGetInstance('table_id');
var rowsToBeExported = $('#table_id tbody tr:visible');
var visibileSelectedRows = $("#table_id tbody tr input[checked='checked']");
if(visibileSelectedRows.size() > 0 ){
console.log(visibileSelectedRows);
console.log(rowsToBeExported);
oTT.fnSelect(visibileSelectedRows);
}else{
$('input', rowsToBeExported).attr('checked','checked');
}
console.log(rowsToBeExported.size() + " row(s) will be exported.");
oTT.fnSelect(rowsToBeExported);
});
该错误由行触发
oTT.fnSelect(visibileSelectedRows);
而线
oTT.fnSelect(rowsToBeExported);
没有。
我有11列,最后一列被CSS代码隐藏(显示:无)
请解释一下吗?
最佳答案
这是因为您要将复选框元素传递给fnSelect
中的oTT.fnSelect(visibileSelectedRows)
。$("#table_id tbody tr input[checked='checked']")
将给您复选框元素。您需要找到其父tr
并将其传递给fnSelect
。尝试这个。
$('#ToolTables_table_id_0, #ToolTables_table_id_1').mousedown(function(){
var oTT = TableTools.fnGetInstance('table_id');
var rowsToBeExported = $('#table_id tbody tr:visible');
var visibileSelectedRows = $("#table_id tbody tr input[checked='checked']");
if(visibileSelectedRows.size() > 0 ){
console.log(visibileSelectedRows);
console.log(rowsToBeExported);
oTT.fnSelect(visibileSelectedRows.closest('tr'));
}else{
$('input', rowsToBeExported).attr('checked','checked');
}
console.log(rowsToBeExported.size() + " row(s) will be exported.");
oTT.fnSelect(rowsToBeExported);
});
关于javascript - 未捕获的TypeError:无法读取未定义的属性'nTr',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30578291/