jQuery DataTables: hide search bar

后端 未结 4 1298
悲哀的现实
悲哀的现实 2021-02-14 13:33

I seem not able to hide DataTables default search bar. So far, I have tried solution from this thread, but setting bFilter:false disables filtering entirely, so my

相关标签:
4条回答
  • 2021-02-14 13:59

    You need to adjust sDom attribute of your DataTable accordingly: let table = $('#mytable').DataTable({sDom: 'lrtip'}); That's supposed to hide search box without disabling filtering feature. Also, you might want to check out official reference doc regarding the subject.

    0 讨论(0)
  • 2021-02-14 14:05

    Data table provides customization options to show and hide elements and also custom elements. We can use dom values to customize:

     l - length changing input control
        **f - filtering input**
        t - The table
        i - Table information summary
        p - pagination control
        r - processing display element
    
        **f is for filter , so we can remove it.**
    
            $('#example').dataTable( {
              "dom": 'lrtip'
            } );
    
    0 讨论(0)
  • 2021-02-14 14:07

    Simply add this class in your css - .dataTables_filter, .dataTables_info { display: none; }

    The live instance -

    $(document).ready(function () {
        let table = $('#mytable').DataTable();
        $('#mytable tfoot th').each(function (i) {
            let title = $('#mytable thead th').eq($(this).index()).text();
            $(this).html('<input type="text" placeholder="Search ' + title + '" data-index="' + i + '" />');
        });
        $(table.table().container()).on('keyup', 'tfoot input', function () {
            table.column($(this).data('index'))
                .search(this.value)
                .draw();
        });
    });
    .dataTables_filter, .dataTables_info { display: none; }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.css">
    <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.js"></script>
    <tbody>
        <table id="mytable">
            <thead>
                <tr>
                    <th>name</th>
                    <th>type</th>
                    <th>color</th>
                </tr>
            </thead>
            <tfoot>
                <tr>
                    <th></th>
                    <th></th>
                    <th></th>
                </tr>
            </tfoot>
            <tbody>
                <tr>
                    <td>apple</td>
                    <td>fruit</td>
                    <td>red</td>
                </tr>
                <tr>
                    <td>banana</td>
                    <td>fruit</td>
                    <td>yellow</td>
                </tr>
                <tr>
                    <td>carrot</td>
                    <td>vegie</td>
                    <td>red</td>
                </tr>
                <tr>
                    <td>potato</td>
                    <td>vegie</td>
                    <td>brown</td>
                </tr>
            </tbody>
        </table>
    </tbody>

    0 讨论(0)
  • 2021-02-14 14:22
    let table = $('#mytable').DataTable({sDom: 'lrtip'});
    

    this worked for me

    0 讨论(0)
提交回复
热议问题