В дополнение к плагину, если вы хотите увидеть упрощенный код, чтобы вы могли узнать, как работает разбиение на страницы, взгляните на эту скрипку, которую я вам подобрал.
http://jsfiddle.net/29W9Q/
Код просто связывает две кнопки, предыдущую и следующую, чтобы изменить видимость строк таблицы, которую вы указали. При каждом нажатии кнопки выполняются следующие шаги: посмотрите, можете ли вы двигаться вперед или назад, скрыть текущие строки, найти строки, которые должны быть видны, на 10 вверх или 10 вниз, а затем сделать их видимыми. Остальная часть кода должна иллюстрировать пример.
Реальная работа с jQuery выполняется селекторами меньше и больше : :lt()
и :gt()
, чтобы выбрать строки для скрытия / отображения.
var maxRows = 10;
$('.paginated-table').each(function() {
var cTable = $(this);
var cRows = cTable.find('tr:gt(0)');
var cRowCount = cRows.size();
if (cRowCount < maxRows) {
return;
}
/* add numbers to the rows for visuals on the demo */
cRows.each(function(i) {
$(this).find('td:first').text(function(j, val) {
return (i + 1) + " - " + val;
});
});
/* hide all rows above the max initially */
cRows.filter(':gt(' + (maxRows - 1) + ')').hide();
var cPrev = cTable.siblings('.prev');
var cNext = cTable.siblings('.next');
/* start with previous disabled */
cPrev.addClass('disabled');
cPrev.click(function() {
var cFirstVisible = cRows.index(cRows.filter(':visible'));
if (cPrev.hasClass('disabled')) {
return false;
}
cRows.hide();
if (cFirstVisible - maxRows - 1 > 0) {
cRows.filter(':lt(' + cFirstVisible + '):gt(' + (cFirstVisible - maxRows - 1) + ')').show();
} else {
cRows.filter(':lt(' + cFirstVisible + ')').show();
}
if (cFirstVisible - maxRows <= 0) {
cPrev.addClass('disabled');
}
cNext.removeClass('disabled');
return false;
});
cNext.click(function() {
var cFirstVisible = cRows.index(cRows.filter(':visible'));
if (cNext.hasClass('disabled')) {
return false;
}
cRows.hide();
cRows.filter(':lt(' + (cFirstVisible +2 * maxRows) + '):gt(' + (cFirstVisible + maxRows - 1) + ')').show();
if (cFirstVisible + 2 * maxRows >= cRows.size()) {
cNext.addClass('disabled');
}
cPrev.removeClass('disabled');
return false;
});
});