Category

jQuery: постраничный вывод

Очень удобен в случае, когда вы не хотите перегружать страницу при каждом изменении страницы и в то же время не хотите использовать ajax технологию для отправки запросов серверу по таким пустяковым вещам.
Вот пример того, как оно работает:
А вот и сам исходный код этого чуда :).
<script type="text/javascript">
$(document).ready(function() {
var numPerPage = 5;
var currentPage = 0;

var repaginate = function() {
var start=currentPage * numPerPage;
var end=(currentPage + 1) * numPerPage;
$('table.paginated').find('tr')
.slice(start, end).fadeIn().end()
.slice(0, start).hide().end()
.slice(end).hide().end();
}

var numRows = $('table.paginated').find('tr').length;
var numPages = Math.ceil(numRows / numPerPage);
var pager = $('
');
for (var page = 0; page < numPages; page++) {
$('<span class="page-number pagingLink" id="page-' + (page + 1) + '">' + (page + 1) + '</span>')
.bind('click', {'newPage': page}, function(event) {
currentPage = event.data['newPage'];
repaginate();
$('span.page-number').addClass('pagingLink');
$('span#page-' + (currentPage+1)).removeClass('pagingLink');
}).appendTo(pager);
}
pager.find('span.page-number:first').removeClass('pagingLink');
pager.insertAfter($('table.paginated'));
repaginate();
})
</script>


ЗЫ: для тех, кому ещё нужна и сортировка по полям этой таблички - вот хорошая статья. Только учтите, что для постраничного вывода я код менял, так как там неработающий пример ;)
AttachmentSize
example.zip16.5 KB

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <em> <strong> <cite> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

More information about formatting options

CAPTCHA
Это простая проверка на то, что со мной общается человек, а не глупая машина. Умные машины тоже не приветствуются :)
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.
© 2008-2009. Konstantin Artemov