我正在使用jQuery数据表。

我想删除默认情况下添加到表中的搜索栏和页脚(显示有多少行可见)。我只是想用这个插件来排序。这能做到吗?


当前回答

没有过滤输入控件。(https://datatables.net/reference/option/dom)

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

其他回答

正如@Scott Stafford所说,sDOM是最适合显示、隐藏或重新定位组成数据表的元素的属性。我认为sDOM现在已经过时了,在实际的补丁中,这个属性现在是dom。

这个属性还允许为一个元素设置一些类或id,所以你可以更容易地设计风格。

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

这个例子只显示表:

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

我通过为footer分配一个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;
}

如上所述的方法并不适合我。

如果你正在使用自定义过滤器,你可能想隐藏搜索框,但仍然想启用过滤器功能,所以bFilter: false不是方法。使用dom: 'lrtp'代替,默认是'lfrtip'。文档:https://datatables.net/reference/option/dom

这对我很管用;

你可以使用这个属性在表上删除搜索栏:

对于数据表>=1.10,使用:

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

如果你仍然想要这个插件的.search()函数,你需要用dom设置“隐藏”搜索栏html:

$('table').dataTable({dom: 'lrt'});

默认值是lfrtip或<"H"lfr>t<"F"ip>(当jQueryUI为true时),F char表示dom中的过滤(搜索)html, ip表示信息和分页(页脚)。

对于<1.10的数据表,使用:

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

或者使用纯CSS:

.dataTables_filter, .dataTables_info { display: none; }