从Jquery数据表中隐藏LengthMenu

时间:2013-11-12 12:07:55

标签: javascript jquery jquery-datatables

请问如何从我的Jquery数据表中隐藏LengthMenu(显示每页显示的记录数的下拉列表)?

目前我可以禁用它,但我不希望它出现。查看我的Fiddle here 下面: -

testdata = [{"id":"58","country_code":"UK"},{"id":"59","country_code":"US"}];
$('#test').dataTable({
    "aaData": testdata,
    "aoColumns": [
        { "mDataProp": "id" },
        { "mDataProp": "country_code" }
    ],
    "bLengthMenu" : false, //thought this line could hide the LengthMenu
    "bInfo":false,    
});
`//the next 2 lines disables the LengthMenu
//var aLengthMenu = $('select[name=test_length]');
//$(aLengthMenu).prop('display', 'disabled');

7 个答案:

答案 0 :(得分:41)

尝试

$('#test').dataTable({
    "aaData": testdata,
    "aoColumns": [
        { "mDataProp": "id" },
        { "mDataProp": "country_code" },
        { "mDataProp": "title" },
        { "mDataProp": "pubdate" },
        { "mDataProp": "url" }
    ],
    "bLengthChange" : false, //thought this line could hide the LengthMenu
    "bInfo":false,    
});

Fiddle

答案 1 :(得分:16)

这样做:

"bLengthChange": false

这将隐藏长度下拉列表。

答案 2 :(得分:5)

您可以通过禁用分页来执行此操作:

"bPaginate": false

答案 3 :(得分:3)

如果使用bootstrap或其他模板,隐藏长度菜单的结果可能会有点难看,比如缺少边框。

对我有用的是使用css并操纵标签标签

.dataTables_length label { display:none;}

答案 4 :(得分:3)

要完全禁用分页,请执行以下操作:

"paging": false

答案 5 :(得分:1)

根据https://datatables.net/reference/option/lengthChange,从DataTables 1.10.18开始 这是隐藏lengthMenu的推荐方法:

$('#example').dataTable( { "lengthChange": false } );

欢呼声

答案 6 :(得分:0)

如果你想隐藏分页和" 显示X条目"下拉选项仅当数据行可以放在单个页面中时,您可以使用drawCallback

"drawCallback": function (settings) {
    var api = this.api();
    var totalRows = api.rows().data().length; //Get total rows of data
    var rowPerPage = api.rows({ page: 'current' }).data().length; //Get total rows of data per page
    if (totalRows > rowPerPage) {
            //Show pagination and "Show X Entries" drop down option
            $('div.dataTables_paginate')[0].style.display = "block";
            $('div.dataTables_length')[0].style.display = "block";
    } else {
            //Hide it
            $('div.dataTables_paginate')[0].style.display = "none";
            $('div.dataTables_length')[0].style.display = "none";
    }
}

或者,您可以参考this discussion,非常类似的方法。