如何在单击按钮时从 jquery dataTables 启用和禁用分页

how to enable and disable paging from jquery dataTables on button click

以下是在数据 table 网站中找到的用于删除分页的代码。

    $(document).ready(function() {
    $('#example').DataTable( {
        "paging":   false
    } );
} );

我的问题是如何在按钮点击时启用和禁用分页

当我 第二次 调用 DataTable 函数时 table。它显示 error 数据 table 已经启动,我正在第二次调用它。

这样试试。

var oTable;
 $(document).ready(function() {
   oTable =  $('#example').DataTable( {
        "paging":   false
    } );

       $('.btn').click( function () {
        oTable.paging= false;
        oTable.fnDraw();
    });

} );

试试这个:(但我不保证,因为我还没有测试过)

var oTable = $('#example').dataTable();

// get settings object after table is initialized
var oSettings = oTable.fnSettings();
oSettings.paging = false;

$(".button").click(function(){
    oSettings.paging = !oSettings.paging;
});

https://www.datatables.net/forums/discussion/16373/enable-disable-features-after-initializing-the-table

只需使用 destroy: true 和 paging:

重新创建数据表

我只想显示 table 的前 10 行,但仍然能够对整个 table 进行排序。但我还希望能够单击 link 并显示整个 table。

这是我所做的:(我的 table 是 "ka_ad")

首先,开启分页

table_ad = $('#ka_ad').DataTable({ 
 paging: true,
});

其次(可选:我不想显示数据table分页link和元素,所以我用css

隐藏了它们
#ka_ad_length{display: none;}
#ka_ad_paginate{display: none;}     

最后,切换 bPaginate 设置(我有一个 ID 为 "test" 的按钮):

$('#test').click( function () {
     //console.log(mytable.settings()[0]['oFeatures']['bPaginate'] ); 
   if(table_ad.settings()[0]['oFeatures']['bPaginate'] == false)
        {
              table_ad.settings()[0]['oFeatures']['bPaginate'] = true;
             $('#test').html('Show All Rows');
        }
   else
        {
              table_ad.settings()[0]['oFeatures']['bPaginate'] = false;
              $('#test').html('Show Fewer Rows');
        }
     table_ad.draw(); 
});