Ghi*_*taB 4 jquery jquery-plugins datatables
如何在 jQuery 数据表分页中显示所有页码?例如,而不是1 2 3 ... 10,我想要1 2 3 4 5 6 7 8 9 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": "",
}
}
});
Run Code Online (Sandbox Code Playgroud)
计算页面按钮的逻辑如下:
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;
}
Run Code Online (Sandbox Code Playgroud)
因此,您可以将该numbers_length属性修改为更大的值(默认为7),省略号将消失,显示所有页码:
$.fn.dataTableExt.pager.numbers_length = 600;
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
$.fn.dataTableExt.pager.numbers_length = 600;
Run Code Online (Sandbox Code Playgroud)
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
}
});Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6027 次 |
| 最近记录: |