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

时间:2015-08-31 11:30:05

标签: javascript jquery datatables

以下是数据表网站中的代码,以便删除分页。

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

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

当我将DataTable函数第二次调用到同一个表时。它显示错误表示数据表已经启动并且我第二次调用它。

4 个答案:

答案 0 :(得分:1)

使用destroy:true和paging:

简单地重新创建dataTable

答案 1 :(得分:0)

试试这样。

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

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

} );

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

这就是我所做的:(我的表是“ ka_ad”)

首先,打开分页

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

第二(可选:我不想显示数据表的分页链接和元素,所以我用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(); 
});