デフォルトでは、DataTables
プラグインは7つのページングボタン(省略記号を含む)を表示します
Previous12345...10Next
これを次のような小さい数に変更できるようにしたい
Previous1...10Next
そして、私はこれをドキュメントのどこにも見つけることができません。
私は this plugin を見つけましたが、deprecatedであり、
DataTables 1.10にはこの機能が組み込まれています。
ただし、これを変更する場所は示されていません。
DataTable
javascriptオブジェクトとDataTables
'ソースコードをいじってみて、ようやく見つかりました。
この行を追加する必要があります(初期化の前または後):
$.fn.DataTable.ext.pager.numbers_length = 3;
注これは次のように表示されます
Previous1...10Next
ではなく
Previous12...10Next
したがって、必ずinclude長さ番号の省略記号を使用してください。
編集:
ページを進めていくと、このソリューションにいくつかの問題がありました。
私は彼らを書き直さなければならなかった_numbers
このような関数:
function _numbers(page, pages) {
var
numbers = [],
buttons = 5, // added here the number of buttons
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); // changed this from _range(page - 1, page + 2);
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
関数をmy main.js
ファイル。
dataTableJSの理想的な最小値は次のとおりです。
$.fn.DataTable.ext.pager.numbers_length = 5;