我正在使用jQuery数据表来显示我的记录的网格视图。
我从here获取了列show / hide api的引用。
根据定义,我试图在我的项目中使用它与所有CSS& JS文件。
当我运行它时,它显示错误为:
TypeError: table.column is not a function
我的jquery是这样的:
$(document).ready(function() {
var table = $('.dataTables-example').dataTable({"scrollX": true});
$('a.toggle-vis').on( 'click', function (e) {
e.preventDefault();
var column = table.column($(this).attr('data-column') );
column.visible( ! column.visible() );
} );
});
我有什么遗失的吗?
答案 0 :(得分:3)
您在此行中调用了数据表1.9或之前的数据:
var table = $('.dataTables-example').dataTable({"scrollX": true});
将其更改为:
var table = $('.dataTables-example').DataTable({"scrollX": true});
注意D
中的首都DataTable
。您需要能够调用数据表1.10+并使用column(DT)
之类的函数,这在以前的版本中是不存在的。
答案 1 :(得分:0)
对于datatable v1.10.0 + version:
,您可能还需要更改此设置var column = table.api().column( $(this).attr('data-column') );
答案 2 :(得分:0)
那些在数据表版本 1.9。* 中遇到类似类型问题的人可以
// column
var ColNum = $(this).attr('data-column');
// Define
var bVis = table.fnSettings().aoColumns[ColNum].bVisible;
// Toggle
table.fnSetColumnVis(ColNum, bVis ? false : true);
代替
var column = table.column($(this).attr('data-column') );
column.visible( ! column.visible() );