【问题标题】:How to keep showing pagination bar in DataTables if there are no records/total # of records are being shown?如果没有显示记录/记录总数,如何在 DataTables 中继续显示分页栏?
【发布时间】:2017-06-30 15:15:49
【问题描述】:

我正在使用DataTables,如果没有记录或显示的记录总数,我需要一直显示分页栏。目前,如果没有记录并且正在显示记录总数,则分页栏会隐藏。在这两种情况下都不需要分页,但是在这两种情况下是否有一个属性可以使分页栏到位。我的 JQuery 如下所示

jQuery

var table = $('#esignTable').DataTable({"sDom": '<"top"flp>rt<"bottom"i><"clear">',
      pagingType: 'input',
      pageLength: 12,
      language: {
        "sEmptyTable": " ",
        oPaginate: {
            sNext: '<i class="fa fa-forward"></i>',
            sPrevious: '<i class="fa fa-backward"></i>',
            sFirst: '<i class="fa fa-step-backward"></i>',
            sLast: '<i class="fa fa-step-forward"></i>'
        }
      }   
    }); 

谢谢

【问题讨论】:

    标签: javascript jquery html css datatables


    【解决方案1】:

    如果只有一页,您可以检索页数并显示隐藏的分页控件。

    var table = $('#example').DataTable({
       pagingType: 'input',
       drawCallback: function(){
           var api = this.api();
           var container = api.table().container();
    
           var info = api.page.info();
           if(info.pages === 1){
               $('.dataTables_paginate', container).show();
               $('.paginate_input, .paginate_page', container).hide();
           } else {           
               $('.paginate_input, .paginate_page', container).show();          
           }
       }
    });
    

    有关代码和演示,请参阅 this example

    【讨论】:

    • 它可以解决问题,但为什么要删除输入字段?
    • @David,我看不出显示 1 页分页或空输入字段的意义。如果需要,您可以通过不隐藏输入字段来调整代码。
    • 你是对的,但这是要求。不管怎样,谢谢你帮助我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 1970-01-01
    • 2022-07-27
    相关资源
    最近更新 更多