jquery – 无法在datatable中读取未定义的属性’push’

前端之家收集整理的这篇文章主要介绍了jquery – 无法在datatable中读取未定义的属性’push’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在datatable中实现自定义过滤.但我在控制台中收到此错误

Cannot read property ‘push’ of undefined

我有以下代码

$.fn.dataTableExt.afnFiltering.push(
    function( oSettings,aData,iDataIndex ) {
        return true;
    }
);

var table = $('#checkin-checkout-record-table').dataTable({

    "bPaginate": true,"bLengthChange": true,"bFilter": true,"bSort": true,"bInfo": true,// "order": [[0,'asc'],[4,'asc']],"aLengthMenu": [50,100],"bAutoWidth": false

});
table.draw();

这有什么不对?

解决方法

>如果要通过调用table.draw()来使用API​​,则需要使用DataTable()而不是dataTable()来初始化表,有关详细信息,请参阅 API.
>如果您使用的是jQuery DataTables的较新版本(1.10),则最好使用$.fn.dataTable.ext.search.push(),参见 Search plug-ins.
>完成搜索后,您需要调用$.fn.dataTable.ext.search.pop()来删除过滤器.

例如:

var table = $('#example').DataTable();

$.fn.dataTable.ext.search.push( 
    function( settings,data,dataIndex ) { 
        return (data[0] == 'Airi Satou'); 
    }
);

table.draw();

$.fn.dataTable.ext.search.pop();

this example进行演示.

但是,push()和pop()方法适用于复杂搜索.如果要搜索一列,则有column().search() API方法.

例如:

var table = $('#example').DataTable();
table.column(0).search('Airi Satou').draw();

有关演示,请参阅this example.

猜你在找的jQuery相关文章