Can't hide column in jquery datatable shows TypeError: table.column is not a function
Can't hide column in jquery datatable shows TypeError: table.column is not a function
我正在使用 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() );
} );
});
有什么我遗漏的吗?
您在此行中调用了 datatables 1.9 或更早版本:
var table = $('.dataTables-example').dataTable({"scrollX": true});
将其更改为:
var table = $('.dataTables-example').DataTable({"scrollX": true});
注意 DataTable
中的大写字母 D
。您需要它才能调用数据表 1.10+ 并使用其功能,例如 column(DT)
,这在以前的版本中不存在。
您可能还需要为数据表 v1.10.0+ 版本更改此设置:
var column = table.api().column( $(this).attr('data-column') );
那些在数据表版本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() );
我正在使用 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() );
} );
});
有什么我遗漏的吗?
您在此行中调用了 datatables 1.9 或更早版本:
var table = $('.dataTables-example').dataTable({"scrollX": true});
将其更改为:
var table = $('.dataTables-example').DataTable({"scrollX": true});
注意 DataTable
中的大写字母 D
。您需要它才能调用数据表 1.10+ 并使用其功能,例如 column(DT)
,这在以前的版本中不存在。
您可能还需要为数据表 v1.10.0+ 版本更改此设置:
var column = table.api().column( $(this).attr('data-column') );
那些在数据表版本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() );