Javascript jquery datatables column.data未定义
我正在使用datatable的行分组功能,下面是我的drawcallback函数:Javascript jquery datatables column.data未定义,javascript,jquery,jquery-datatables,Javascript,Jquery,Jquery Datatables,我正在使用datatable的行分组功能,下面是我的drawcallback函数: oTable = jQuery_1_11('#example').dataTable({ "searching": false, "processing": true, "serverSide": true, "iDisplayLength": 20, "sPaginationType": "full_numbers", "language": {"infoFiltered": ""}, columnDefs:
oTable = jQuery_1_11('#example').dataTable({
"searching": false,
"processing": true,
"serverSide": true,
"iDisplayLength": 20,
"sPaginationType": "full_numbers",
"language": {"infoFiltered": ""},
columnDefs: [{
targets: 0,
"visible": false,
}],
"ajax": {
"url": "index.php?entryPoint=getTableData",
"dataType": 'json',
"pages": "5",
"type": "POST",
"data": function(d) {
d.dbJson = sendJson
},
"dataSrc": function(response) {
return response.aaData;
}
},
"drawCallback": function( ) {
var api = this.api();
var rows = api.rows({page: 'current'}).nodes();
var last = null;
api.column(0, {page: 'current'}).data().each(function(group, i) {
if (last !== group) {
jQuery_1_11(rows).eq(i).before(
'<tr class="group"><td colspan="5">' + group + '</td></tr>'
);
last = group;
}
});
}
})
这是一个错误:
未捕获的TypeError:无法读取未定义的属性“each”
请帮忙 在ajax调用返回之前调用drawCallback。它在第一个表初始化事件中调用,也在ajax回调中调用。 如果在操作.data()值之前插入类型检查,它将不会在第一次绘制事件时崩溃,并且将在ajax回调上运行
function( ) {
var api = this.api();
var rows = api.rows({page: 'current'}).nodes();
var last = null;
if(typeof api.column(0, {page: 'current'}).data() !=="undefined"){
api.column(0, {page: 'current'}).data().each(function(group, i) {
if (last !== group) {
jQuery_1_11(rows).eq(i).before(
'<tr class="group"><td colspan="5">' + group + '</td></tr>'
);
last = group;
}
});
}
}
函数(){
var api=this.api();
var rows=api.rows({page:'current'}).nodes();
var last=null;
if(api.column(0,{page:'current'}.data()!==“未定义”){
列(0,{page:'current'}).data().each(函数(组,i){
如果(最后!==组){
jQuery_1_11(行).eq(i).before(
''+组+''
);
last=组;
}
});
}
}
希望它能有所帮助:)这通过更改为最新版本的DataTables 1.10.6起到了作用。 以前我使用的是数据表1.10.6-dev 在jquery.dataTables.js文件中,您可以检查当前使用的第一行内容 通过改变
jQuery_1_11('#example').dataTable
到
谢谢大家的帮助:)它始终未定义,因此不会处于IF()状态。因此,如果从初始化中删除drawCallback属性,表是否加载ajax检索的数据?是,但不分组。实际上,该表并没有在页面加载时初始化,它实际上是用jqueryjstree绑定的。当用户单击jstree的任何节点时,表都会被初始化并动态创建。您能设置一个小提琴来重现错误吗?代码可以立即工作,因此您必须有其他导致错误的原因。顺便说一句,为什么不使用现有的行分组插件呢?尝试将
jQuery\u 1\u 11(“#示例”).dataTable
更改为jQuery\u 1\u 11(“#示例”).dataTable
加上大写字母D
。您试图访问的API来自1.10+版本,该版本使用大写字母D
.jQuery_1_11(“#示例”)进行初始化。DataTable也不起作用。实际上,该表在页面加载时未初始化,它实际上与jQuery jstree绑定。当用户单击jstree的任何节点时,该表将被初始化并动态创建。@davidkonrad您能否详细介绍一下现有的rowgrouping插件。
jQuery_1_11('#example').dataTable
jQuery_1_11('#example').DataTable