如何显示和隐藏使用datatable jquery的列

时间:2017-07-25 11:27:51

标签: javascript jquery datatables

我需要在进行javascript测试后显示和隐藏数据表的列,但它不能正常工作。

这是我的测试javascript:

if ( $('#commune_to_display').val()==""){
    $('#utable td:nth-child(2)').hide();
    $('#commune_to ').hide();
}

此测试仅在数据表的第一页中起作用,在分页之后列仍然可见。

我该如何解决?谢谢你的帮助

2 个答案:

答案 0 :(得分:7)

您可以显示/隐藏列,如下所示。只需将34替换为您的实际列索引。

var table = $('#utable').DataTable();
table.column(3).visible(true);    // To show
table.column(4).visible(false);   // To hide

答案 1 :(得分:2)

这样的JavaScript代码:

$(document).ready(function() {
    var table = $('#example').DataTable( {
        "scrollY": "200px",
        "paging": false
    } );

    $('a.toggle-vis').on( 'click', function (e) {
        e.preventDefault();

        // Get the column API object
        var column = table.column( $(this).attr('data-column') );

        // Toggle the visibility
        column.visible( ! column.visible() );
    } );
} );
像这样的HTML代码:

<table id="example" class="display" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Age</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </thead>
        <tfoot>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Age</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </tfoot>
        <tbody>
            <tr>
                <td>Tiger Nixon</td>
                <td>System Architect</td>
                <td>Edinburgh</td>
                <td>61</td>
                <td>2011/04/25</td>
                <td>$320,800</td>
            </tr>
</tbody>
    </table>

您可以在此处查看并运行完整示例:https://datatables.net/examples/api/show_hide.html