簡體   English   中英

當顯示的數字少於數字時,無法隱藏每頁的項目和數據表中的分頁

[英]Cant hide items per page and pagination in datatable when less then number displayed

我有一個Datatable ,如果返回1頁,我想隱藏“每頁項” 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')但是似乎什么也沒有用,我無所適從。

當我查看Dev tools中的element ,會添加style屬性,但之后沒有添加任何內容:

初始表加載

在此處輸入圖片說明

篩選表

在此處輸入圖片說明

找到了解決方案。 我一直在尋找父級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
}

您可以使用下面的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);
    }
} );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM