Comment masquer le LengthMenu (la liste déroulante qui affiche le nombre d’enregistrements affichés par page) de mon datable Jquery?
Je suis actuellement en mesure de le désactiver, mais je ne souhaite pas qu'il apparaisse du tout. Voir mon Fiddle ici Ci-dessous: -
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');
Essayer avec
$('#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,
});
Faites-le avec:
"bLengthChange": false
Cela cachera la liste déroulante des longueurs.
Vous pouvez le faire en désactivant la pagination:
"bPaginate": false
Pour désactiver la pagination, procédez comme suit:
"paging": false
Si vous utilisez bootstrap ou un autre modèle, le résultat consistant à masquer le menu de longueur risque de devenir un peu moche, comme des bordures manquantes.
Ce qui a fonctionné pour moi a été d’utiliser css et de manipuler l’étiquette
.dataTables_length label { display:none;}
Si vous souhaitez masquer la pagination et l'option de menu déroulant "Afficher les entrées X" UNIQUEMENT lorsque les lignes de données peuvent tenir dans une seule page, vous pouvez utiliser 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";
}
}
Alternativement, vous pouvez vous référer à cette discussion , approche assez similaire.
À partir de DataTables 1.10.18, selon https://datatables.net/reference/option/lengthChange Il s'agit de la méthode recommandée pour masquer lengthMenu:
$('#example').dataTable( { "lengthChange": false } );
Cheerrs