过滤dataTables.net,不包含过滤器框输入

时间:2012-03-31 09:00:54

标签: jquery datatables

我想使用DataTables的过滤功能,但不想在其中使用搜索框。

bFilter下的

In their docs说:

  

请注意,如果您希望在DataTables中使用过滤,则必须保持“true” - 要删除默认过滤输入框并保留过滤功能,请使用

之后句子不完整。

我试过了:

var oTable = $('#sortable').dataTable({
    'bPaginate':false,
    'bInfo':false,
    'bFilter': true // displays Search box, setting false removes filter ability all together
});
$('#Accumulate').click(function(){
    oTable.fnFilter("Accumulate");
});

4 个答案:

答案 0 :(得分:21)

你也可以隐藏使用css类

<style type="text/css">
.dataTables_filter {
     display: none;
}
</style> 

答案 1 :(得分:13)

Pratyush,

使用sDom参数完成显示和隐藏不同UI元素的纯美容:

http://datatables.net/usage/options#sDom

请注意,根据您是否使用jQuery UI,所需的语法会有所不同。

答案 2 :(得分:13)

使用(可能加速数据表初始化以避免一些计算):

$("#table").dataTable({"bFilter": false});

或任何 sDom 没有 f 选项(有关可用选项的列表,请参阅官方文档http://datatables.net/usage/options#sDom):

$("#table").dataTable({"sDom": '...t...'});

在官方支持网站上寻找相同的选项:http://datatables.net/forums/discussion/289/disable-search-filter-text-box

答案 3 :(得分:4)

"sDom": 'ltipr'

是最简单的方法。

我用过的完整示例:

 oTable = $('#overview').dataTable(

        {
           "aoColumns":[
                               null,
                               null,
                               null,
                               null,
                               null,
                                { "sSortDataType":"date-euro"},
                                { "sSortDataType":"date-euro",},
                               null
              ],
              "aaSorting":[],
              "iDisplayLength": -1,
              "aLengthMenu": [[5, 10, 25, 50, -1], [5, 10, 25, 50, "All"]],
              "sDom": 'ltipr'

        }
        );