2013-11-12 5 views
15

Как мне скрыть LengthMenu (раскрывающийся список, который отображает количество записей, отображаемых на странице) из моего JQuery datatable?Скрыть LengthMenu из Jquery datatable

В настоящее время я могу отключить его, но я не хочу, чтобы он появился вообще. Смотрите мой 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'); 

ответ

27

Попробуйте с

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

Спасибо !, он работает. Ты легенда. –

12

Делают это с:

"bLengthChange": false 

Это скроет длина выпадающего меню.

4

Вы можете сделать это путем отключения разбиения на страницы:

"bPaginate": false 
+1

Спасибо, но я не хочу отключать разбивку на страницы. –

+1

Знаете ли вы, как настроить разбивку на страницы? – FrenkyB

2

При использовании начальной загрузки или некоторые другие шаблоны, результат скрытия меню длины мог получить немного уродливые, например, недостающие границы.

То, что работало для меня было использовать CSS и манипулировать маркирующие

.dataTables_length label { display:none;} 
1

Чтобы отключить нумерацию страниц на всех, то сделать:

"paging": 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, совершенно аналогичный подход.

Смежные вопросы