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

标签 javascript jquery datatables

我正在努力创建一个 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

<小时/>

更新:这是我采用的解决方案,源自 Teddy 的答案: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 代替。

关于Javascript 在所有数据表上切换分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38171836/

相关文章:

javascript - 在 javascript 中获取对象值不起作用

javascript - Angular : Weird custom directive

javascript - Jquery css borderLeft 在鼠标悬停时移动元素

javascript - 将数据表行添加到表的顶部或底部?

jquery - 向 jQuery 数据表添加刷新按钮

java - HTML 电子邮件的隐藏/显示按钮

javascript - Ajax.BeginForm() 不工作 MVC - 未捕获的 javascript 错误 - 意外 token (

javascript - 为 jQuery 弹出窗口堆叠 div 元素

javascript - 如何更改克隆 div 内文本框的 ID

javascript - jQuery 数据表 : is there a way to detect date format automatically?