从Jquery数据表中隐藏LengthMenu

问题描述 投票:21回答:7

请问如何从我的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');
javascript jquery jquery-datatables
7个回答
44
投票

试试吧

$('#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


17
投票

这样做:

"bLengthChange": false

这将隐藏长度下拉列表。


6
投票

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

"bPaginate": false

3
投票

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

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

.dataTables_length label { display:none;}

3
投票

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

"paging": false

1
投票

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

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

干杯


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,非常类似的方法。

© www.soinside.com 2019 - 2024. All rights reserved.