Javascript在所有数据表上切换分页

Javascript toggle paging on all dataTables

本文关键字:分页 数据表 Javascript      更新时间:2023-09-26

我正在努力使一个js函数,将切换分页在我的页面上的所有数据表。我做错了什么?

注意:每当我在Chrome控制台运行togglePaging()时,我得到undefined作为响应。

var globalPaging = true;
function togglePaging() {
    globalPaging = !globalPaging;
    $('.dataTable').each(function(){
        var oTable = $(this).dataTable();        
        var oSettings = oTable.fnSettings();
        oSettings.aoColumns[1].bPaginate = globalPaging;
        var oTableDT = $(this).DataTable();
        oTableDT.draw(); 
    });
}
$(document).ready(function(){
    $('table.toDataTable').DataTable({ 
        "bPaginate": globalPaging    
    });
});

下面是一个演示:jsfiddle.net/8n1nj0bu


更新:这是我用的解决方案,从泰迪的答案派生:jsfiddle.net/jyf8h2je

draw()函数只更新表内容。如果你想改变其他属性,也许你需要重新初始化你的表。绘制API: https://datatables.net/reference/api/draw

我的例子:

$('.dataTable').each(function(){
    var oTableDT = $(this).DataTable({ 
        "bPaginate": globalPaging,
        "bDestroy": true
    });
});
https://jsfiddle.net/8n1nj0bu/1/

这个解决方案有一个缺点,那就是你需要重新初始化你所有的属性。

注意:我的FF43不能运行onclick,所以我使用jquery代替。