25

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

目前我可以禁用它,但我根本不希望它出现。请在下面查看我的小提琴 :-

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');
4

7 回答 7

49

尝试

$('#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,    
});

小提琴

于 2013-11-12T12:11:29.420 回答
20

这样做:

"bLengthChange": false

这将隐藏长度下拉菜单。

于 2013-11-12T12:09:29.117 回答
7

您可以通过禁用分页来做到这一点:

"bPaginate": false
于 2013-11-12T12:10:40.017 回答
7

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

"paging": false
于 2015-12-07T01:41:08.213 回答
6

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

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

欢呼者

于 2019-02-13T13:26:04.723 回答
4

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

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

.dataTables_length label { display:none;}
于 2014-10-07T02:43:27.027 回答
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";
    }
}

或者,您可以参考这个讨论,非常相似的方法。

于 2017-10-01T01:43:49.977 回答