我有一个Datatable
,如果返回一页,我想隐藏“每页项” dropdown
列表以及pagination
。过滤表时,这也需要起作用。
我正在使用:
.DataTable().page.info()
下面是我的代码
"fnDrawCallback": function () {
var accountSearchDataTableInfo = $('#accountSearchDataTable').DataTable().page.info();
if (accountSearchDataTableInfo.pages == '1') {
console.log(accountSearchDataTableInfo.pages == '1')
$('#accountSearchDataTable_length').hide();
$('#accountSearchDataTable_paginate').hide();
}
if (accountSearchDataTableInfo.pages == 1) {
console.log(accountSearchDataTableInfo.pages == 1)
$('#accountSearchDataTable_length').hide();
$('#accountSearchDataTable_paginate').hide();
}
}
这给...
初始表加载表信息
已过滤的表格信息
从我的IF
中可以看到,我尝试了一个数字和字符串,但是当我对它们进行console.log
时,它又返回了true
,但仍显示了项目。
我尝试过.hide()
和.css('display', 'none')
,但似乎没有任何效果,我无所适从。
当我查看element
中的Dev tools
时,添加了style
属性,但之后没有任何内容:
初始表加载
已过滤表格
答案 0 :(得分:0)
找到了解决方案。我一直在寻找父项DIV
,但似乎如果我使用了每个单独的标识符,我就可以将其隐藏。所以我的IF
现在看起来像
if (accountSearchDataTableInfo.pages == '1') {
$('.mb-2').hide(); // Items per page DD
$('#accountSearchDataTable_previous').hide(); // Pagintator 'Previous' button
$('#accountSearchDataTable_next').hide(); // Pagintator 'Next' button
$('.paginate_button').hide(); // Pagintator page '1' button
}
答案 1 :(得分:0)
您可以使用下面的api确定页数
table.api()。page.info()。pages
如文档所述:
https://datatables.net/reference/api/page.info()
绘制表格后使用drawCallback()
,如此处所述:
https://datatables.net/reference/option/drawCallback
示例在页面等于或小于1时如何隐藏分页:
$('#example').dataTable( {
"drawCallback": function( settings ) {
var api = this.api();
var pagination = $(this).closest('.dataTables_wrapper').find('.dataTables_paginate');
pagination.toggle(api.page.info().pages > 1);
}
} );