I decided to use the tutorial in PacktPub mainly because I didn’t need all the functions of the DataTable, and I didn’t use “I want to spend a lot of time trying to figure out how I need it.
My problem with this tutorial is pagination. I do not want this to look like this:
1 2 [3] 4 5
Instead, I want it to look like
< [#] >
[#] will be an input field in which the user can enter a number, and he will automatically go to this page. Arrows on both sides, they will be disabled and activated depending on which page it is on and how many pages. For example, if it was on page 1, the button will have a class of "off." If there were more than 1 page, then the> button would be indicated with the class "on".
I attached a screenshot of how it might look:
(image not available)
I am a little fixated on how I can achieve this with this code:
$(document).ready(function() {
$('table.paginated').each(function() {
var currentPage = 0;
var numPerPage = 10;
var $table = $(this);
$table.bind('repaginate', function() {
$table.find('tbody tr').show()
.lt(currentPage * numPerPage)
.hide()
.end()
.gt((currentPage + 1) * numPerPage - 1)
.hide()
.end();
});
var numRows = $table.find('tbody tr').length;
var numPages = Math.ceil(numRows / numPerPage);
var $pager = $('<div class="pager"></div>');
for (var page = 0; page < numPages; page++) {
$('<span class="page-number">' + (page + 1) + '</span>')
.bind('click', {'newPage': page}, function(event) {
currentPage = event.data['newPage'];
$table.trigger('repaginate');
$(this).addClass('active').siblings().removeClass('active');
})
.appendTo($pager).addClass('clickable');
}
$pager.find('span.page-number:first').addClass('active');
$pager.insertBefore($table);
$table.trigger('repaginate'); }); });
user272245
source
share