如何删除jQuery DataTables插件添加的搜索栏和页脚?

时间:2009-12-17 09:51:09

标签: jquery html datatables

我正在使用jQuery DataTables

我想删除默认情况下添加到表中的搜索栏和页脚(显示可见的行数)。基本上我只想使用这个插件进行排序。可以这样做吗?

20 个答案:

答案 0 :(得分:427)

对于 DataTables> = 1.10 ,请使用:

$('table').dataTable({searching: false, paging: false, info: false});

对于 DataTables< 1.10 ,请使用:

$('table').dataTable({bFilter: false, bInfo: false});

或使用纯CSS:

.dataTables_filter, .dataTables_info { display: none; }

答案 1 :(得分:86)

查看http://www.datatables.net/examples/basic_init/filter_only.html以查看要显示/隐藏的功能列表。

你想要的是将“bFilter”和“bInfo”设置为false;

$(document).ready(function() {
    $('#example').dataTable( {
        "bPaginate": false,
        "bFilter": false,
        "bInfo": false
                 } );
} );

答案 2 :(得分:38)

您也无法通过设置sDomhttp://datatables.net/usage/options#sDom

来绘制页眉或页脚
'sDom': 't' 

将显示表格,没有页眉或页脚或任何内容。

这里讨论了一些问题:http://www.datatables.net/forums/discussion/2722/how-to-hide-empty-header-and-footer/p1

答案 3 :(得分:23)

如果您使用自定义过滤器,您可能希望隐藏搜索框但仍想启用过滤器功能,因此bFilter: false不是这样。请改用dom: 'lrtp',默认为'lfrtip'。文档:https://datatables.net/reference/option/dom

答案 4 :(得分:7)

var table = $("#datatable").DataTable({
   "paging": false,
   "ordering": false,
   "searching": false
});

答案 5 :(得分:6)

快速而肮脏的方法是找出页脚的类并使用jQuery或CSS隐藏它:

$(".dataTables_info").hide();

答案 6 :(得分:4)

如果您使用的是themeroller:

.dataTables_wrapper .fg-toolbar { display: none; }

答案 7 :(得分:4)

<script>
$(document).ready(function() {
    $('#nametable').DataTable({
        "bPaginate": false,
        "bFilter": false,
        "bInfo": false
    });
});
</script>
数据表构造函数中的

https://datatables.net/forums/discussion/20006/how-to-remove-cross-icon-in-search-box

答案 8 :(得分:3)

只需更改配置即可完成此操作:

$('table').dataTable({
      paging: false, 
      info: false
 });

但要隐藏空的页脚;这段代码可以解决问题:

 $('table').dataTable({
      paging: false, 
      info: false,

      //add these config to remove empty header
      "bJQueryUI": true,
      "sDom": 'lfrtip'

});

答案 9 :(得分:3)

您可以在此处向代码中添加sDom元素,隐藏顶部搜索栏。

$(document).ready(function() {
    $('#example').dataTable( {
"sDom": '<"top">rt<"bottom"flp><"clear">'
 } );
} );

答案 10 :(得分:2)

正如@Scott所说,Stafford sDOM是显示,隐藏或重新定位构成DataTables的元素的最合适的属性。我认为sDOM现已过时,实际的补丁此属性现在为dom

此属性允许将一些类或id设置为元素,因此您可以更轻松地使用它。

在此处查看官方文档:https://datatables.net/reference/option/dom

此示例仅显示表格:

$('#myTable').DataTable({
    "dom": 't'
});

答案 11 :(得分:1)

您可以使用sDom属性。代码看起来像这样。

$(document).ready(function() {
    $('#example').dataTable( {
        'sDom': '"top"i'
                 } );
} );

隐藏搜索和寻呼机框。

答案 12 :(得分:1)

您可以通过css隐藏它们:

#example_info, #example_filter{display: none}

答案 13 :(得分:1)

只需提醒您,您无法在同一DataTable元素上初始化<table>两次。

如果您遇到同样的问题,那么您可以在HTML searching上初始化DataTable时设置paging<table> false

 $('#tbl').DataTable({
    searching: false, 
    paging: false,
    dom: 'Bfrtip',
    buttons: [
       'copy', 'csv', 'excel', 'pdf', 'print'
    ]
 });

答案 14 :(得分:1)

  

从DataTables 1.10.5开始,现在可以定义初始化   使用HTML5 data- *属性的选项。

-dataTables documentation: HTML5 data-* attributes - table options

因此,您可以在data-searching="false" data-paging="false" data-info="false"上指定table。例如,该表将不允许搜索,应用分页或显示信息块:

<table id="example" class="display" width="100%" data-searching="false" data-paging="false" data-info="false">
    <thead>
        <tr>
            <th>Name</th>
            <th data-orderable="false">Avatar</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Tiger Nixon</td>
            <td><img src="https://www.gravatar.com/avatar/8edcff60cdcca2ad650758fa524d4990?s=64&amp;d=identicon&amp;r=PG" alt="" style="width: 64px; height: 64px; visibility: visible;"></td>
            <td>2011/04/25</td>
            <td>$320,800</td>
        </tr>
        <tr>
            <td>Garrett Winters</td>
            <td><img src="https://www.gravatar.com/avatar/98fe9834dcca2ad650758fa524d4990?s=64&amp;d=identicon&amp;r=PG" alt="" style="width: 64px; height: 64px; visibility: visible;"></td>
            <td>2011/07/25</td>
            <td>$170,750</td>
        </tr>
        ...[ETC]...
    </tbody>
</table>

请参见a working example at https://jsfiddle.net/jhfrench/17v94f2s/

此方法的优点在于,它允许您进行标准的dataTables调用(即$('table.apply_dataTables').DataTable()),同时能够逐表配置dataTables选项。

答案 15 :(得分:0)

我通过为页脚指定一个id然后使用css设置样式来完成此操作:

    <table border="1" class="dataTable" id="dataTable_${dtoItem.key}" >
     <thead>
        <tr>
            <th></th>

        </tr>
    </thead>
 <tfoot>
    <tr>
            <th id="FooterHidden"></th>
    </tr>
</tfoot>
<tbody>

    <tr>

                <td class="copyableField"></td>

    </tr>
 </tbody>
</table>

然后使用css进行样式设计:

#FooterHidden{
   display: none;
}

如上所述,对我不起作用。

答案 16 :(得分:0)

我认为最简单的方法是:

Get-ItemProperty 'hklm:\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers'

您只能编辑您必须修改的表,而无需更改常见的CSS或JS。

答案 17 :(得分:0)

如果仅由于例如具有列输入过滤器或者可能因为已经具有CMS搜索表单而能够从表中返回结果的原因而只想隐藏搜索表单,那么您要做的就是检查表单并获取它的ID-(在撰写本文时,它看起来像[tableid]-table_filter.dataTables_filter)。然后只需[tableid]-table_filter.dataTables_filter{display:none;}保留数据表的所有其他功能即可。

答案 18 :(得分:0)

这对我有用#table是表的ID

$('#table').dataTable({searching: false, paging: false, info: false});

答案 19 :(得分:0)

无过滤输入控制。 (https://datatables.net/reference/option/dom)

    /* Results in:
        {length}
        {processing}
        {table}
        {information}
        {pagination}
    */
    $('#example').dataTable( {
      "dom": 'lrtip'
    } );