Как показать длину меню DataTable JQuery? - PullRequest
3 голосов
/ 12 июня 2019

Как показать меню длины в JQuery DataTable? Исчезает при активации экспорта (COPY, EXCEL, PDF) . Я уже добавил lengthMenu, но он не показывает выпадающий список. Вот что я сделал:

$(document).ready(function() {
    var table = $('#example').DataTable( {
        lengthChange: false,
        buttons: [ 'copy', 'excel', 'pdf' ],
        responsive: true,
        'columnDefs': [ {
                'targets': [6], /* column index */
                'orderable': false, /* true or false */
                'lengthMenu': [[10, 25, 50, -1], [10, 25, 50, "All"]]
        }]
    } );
    table.buttons().container().appendTo( '#example_wrapper .col-md-6:eq(0)' );
} );

Я использую jquery 3.3.1 и datatables 1.10.19 через cdn.

Ответы [ 3 ]

0 голосов
/ 12 июня 2019

Попробуйте добавить параметр dom, например dom: 'Blfrtip'.См. Также документацию

$(document).ready(function() {
    var table = $('#example').DataTable( {
        lengthChange: true,
        buttons: [ 'copy', 'excel', 'pdf' ],
        responsive: true,
        dom: 'Blfrtip',
        columnDefs: [ {
                targets: [6], /* column index */
                orderable: false, /* true or false */
                lengthMenu: [[10, 25, 50, -1], [10, 25, 50, "All"]]
        }]
    } );
    table.buttons.container.appendTo( '#example_wrapper .col-md-6:eq(0)' );
} );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<link href="//cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css" rel="stylesheet"/>

<table id="example">
  <thead>
    <tr>
      <th>Example</th>
      <th>Example</th>
      <th>Example</th>
      <th>Example</th>
      <th>Example</th>
      <th>Example</th>
      <th>Example</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Example</td>
      <td>Example</td>
      <td>Example</td>
      <td>Example</td>
      <td>Example</td>
      <td>Example</td>
      <td>Example</td>
    </tr>
  </tbody>
</table>
  
0 голосов
/ 12 июня 2019

Попробуйте добавить настройки DOM, как это:

$(document).ready(function() {
    var table = $('#example').DataTable( {
        lengthChange: false,
        buttons: [ 'copy', 'excel', 'pdf' ],
        responsive: true,
        dom: 'lfrtip',
        'columnDefs': [ {
                'targets': [6], /* column index */
                'orderable': false, /* true or false */
                'lengthMenu': [[10, 25, 50, -1], [10, 25, 50, "All"]]
        }]
    } );
    table.buttons().container().appendTo( '#example_wrapper .col-md-6:eq(0)' );
} );

Для получения дополнительной информации см. Ответы на этом форуме

0 голосов
/ 12 июня 2019

Вы должны добавить dom:

Дом: 'Bflrtip'

Узнайте больше о datatables dom

и lengthMenu позиция должна быть фиксированной

и lengthChange должно быть true:

$(document).ready(function() {
    var table = $('#example').DataTable( {
        lengthChange: true,
        dom: 'Bflrtip', 
        buttons: [ 'copy', 'excel', 'pdf' ],
        responsive: true,
        'columnDefs': [ {
                'targets': [6], /* column index */
                'orderable': false, /* true or false */
        }],
        'lengthMenu': [[10, 25, 50, -1], [10, 25, 50, "All"]]
    } );
    table.buttons().container().appendTo( '#example_wrapper .col-md-6:eq(0)' );
} );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...