Jquery DataTable:如果行少于每页的记录,则隐藏分页

时间:2013-10-09 14:28:42

标签: jquery datatable

我在表格中使用了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 () {
               },

总行数&lt; NewsTable_length.selected

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

2 个答案:

答案 0 :(得分:3)

"fnDrawCallback": function ( oSettings ){
    if(oSettings.fnRecordsTotal() < 10){     
        $('.dataTables_length').hide();
        $('.dataTables_paginate').hide();
    } else {
        $('.dataTables_length').show();
        $('.dataTables_paginate').show(); 
    }
}

答案 1 :(得分:0)

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

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