无法隐藏jquery数据表中的列显示TypeError:table.column不是函数

时间:2015-04-13 13:05:57

标签: jquery-datatables

我正在使用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() );
} );
});

我有什么遗失的吗?

3 个答案:

答案 0 :(得分:3)

您在此行中调用了数据表1.9或之前的数据:

var table = $('.dataTables-example').dataTable({"scrollX": true});

将其更改为:

var table = $('.dataTables-example').DataTable({"scrollX": true});

注意D中的首都DataTable。您需要能够调用数据表1.10+并使用column(DT)之类的函数,这在以前的版本中是不存在的。

请参阅此示例:https://datatables.net/manual/api#Accessing-the-API

答案 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() );