如何在jQuery DataTable分页中显示所有页面编号

4
如何在jQuery数据表分页中显示所有页面编号? 例如,我想要1 2 3 4 5 6 7 8 9 10而不是1 2 3 ... 10。 我的代码如下:
$('.paginated-table').dataTable({
  "lengthMenu": [[5, 10, 25, 50, -1], [5, 10, 25, 50, "All"]],
  "ordering": false,
  "info":     false,
  "bFilter": false,
  "sDom": "t<'row'<'col-md-12'p>>",
  "oLanguage": {
    "oPaginate": {
      "sNext": "",
      "sPrevious": "",
    }
  }
});
1个回答

5

计算页面按钮的逻辑在这里

var extPagination = DataTable.ext.pager;

function _numbers ( page, pages ) {
    var
        numbers = [],
        buttons = extPagination.numbers_length,
        half = Math.floor( buttons / 2 ),
        i = 1;

    if ( pages <= buttons ) {
        numbers = _range( 0, pages );
    }
    ...

    numbers.DT_el = 'span';
    return numbers;
}

因此,您可以将numbers_length属性修改为更大的值(默认值为7),则省略号将消失,所有页面数字将显示:
$.fn.dataTableExt.pager.numbers_length = 600;

for (var i = 0; i < 500; ++i) {
  $("tbody").append("<tr><td>" + i + "</td><td>" + Math.random() + "</td></tr>");
}

$.fn.dataTableExt.pager.numbers_length = 600;

$("table").dataTable({
  ordering: false,
  info: false,
  bFilter: false,
  extPagination: {
    numbers_length: 600
  }
});
a {
  margin: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js"></script>
<table border="1">
  <thead>
    <tr>
      <th>#</th>
      <th>Random numbers</th>
    </tr>
  </thead>
  <tbody>
  </tbody>
</table>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接