在与 DataTable
JavaScript 对象和 DataTables
源代码不断摆弄后,我终于找到了它。
您需要在初始化之前或之后添加此行:
$.fn.DataTable.ext.pager.numbers_length = 3
注意,这将会显示为:
Previous 1 ... 10 Next
而不是
Previous 1 2 ... 10 Next
所以,请确保在长度数字中包含省略号。
编辑:
当翻页时,我发现了一些问题。
我必须像这样重写他们的_numbers
函数:
function _numbers(page, pages) {
var
numbers = [],
buttons = 5,
half = Math.floor(buttons / 2);
if(pages <= buttons) {
numbers = _range(0, pages);
} else if(page <= half) {
numbers = _range(0, buttons - 2);
numbers.push("ellipsis");
numbers.push(pages - 1);
} else if(page >= pages - 1 - half) {
numbers = _range(pages - (buttons - 2), pages);
numbers.splice(0, 0, "ellipsis");
numbers.splice(0, 0, 0);
} else {
numbers.push(page);
numbers.push("ellipsis");
numbers.push(pages - 1);
numbers.splice(0, 0, "ellipsis");
numbers.splice(0, 0, 0);
}
numbers.DT_el = "span";
return numbers;
}
我使用这个将DataTables
指向我的自定义函数:
$.fn.DataTable.ext.pager.simple_numbers = function(page, pages) {
return ["previous", _numbers(page, pages), "next"];
};
另外,我不得不将他们的_range
函数复制到我的main.js
文件中。