【问题标题】:Jquery DataTable: hide Paginator if rows are less than records per pageJquery DataTable:如果行少于每页的记录,则隐藏分页器
【发布时间】:2018-10-10 01:37:10
【问题描述】:

我在表格上方的页面中使用 jquery 数据表我有每页记录的选择器

<div id="NewsTable_length" class="dataTables_length">
<label><select size="1" name="NewsTable_length" aria-controls="NewsTable">
<option value="25" selected="selected">25</option>
<option value="50">50</option>
<option value="100">100</option>
</select> records per page</label>
</div>

下表我有分页

<div class="dataTables_paginate paging_bootstrap pagination">
<ul>
<li class="prev disabled"><a href="#">← 
<span class="hidden-480">Prev</span></a></li>
<li class="active"><a href="#">1</a></li>
<li class="next disabled"><a href="#">
<span class="hidden-480">Next</span> → </a></li>
</ul>
</div>

我想隐藏 dataTables_paginate :

 $('.dataTables_paginate').hide();

在:

"fnDrawCallback": function () {
               },

当总行数

有什么建议吗? 提前谢谢,..

【问题讨论】:

  • 这个运气好吗?我正在尝试做同样的事情(如果行数小于选定的“每页记录”,则隐藏分页控件)但我认为这可以通过一些配置来实现。

标签: jquery datatable


【解决方案1】:
"fnDrawCallback": function ( oSettings ){
    if(oSettings.fnRecordsTotal() < 10){     
        $('.dataTables_length').hide();
        $('.dataTables_paginate').hide();
    } else {
        $('.dataTables_length').show();
        $('.dataTables_paginate').show(); 
    }
}

【讨论】:

    【解决方案2】:

    除了接受的答案外,如果要根据用户选择的当前长度隐藏它,可以将硬编码的10更改为oSettings._iDisplayLength

    如果您想在将表格过滤到 1 页时隐藏分页,您可以将 oSettings.fnRecordsTotal() 更改为 oSettings.fnRecordsDisplay()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多