表分页,显示链接
Table pagination, displaying links
我有一个大约350行的表,我想对它进行分页,使其更易于用户管理。它将页面分成10组,然后显示所有的页面链接。我希望页面链接如下所示:1,2,3,4…35(或者不管最后一页是什么)。这就是我现在被卡住的地方。
这段代码可以工作,但我不知道如何以这种方式显示链接。如有任何帮助,不胜感激。
$('table.table-styled').each(function() {
var currentPage = 0;
var rowsPerPage = 10;
var $table = $(this);
$table.bind('repaginate', function(){
$table.find('tbody tr').hide().slice(currentPage * rowsPerPage, (currentPage + 1) * rowsPerPage).show();
});
$table.trigger('repaginate');
var numRows = $table.find('tbody tr').length;
var numPages = Math.ceil(numRows / rowsPerPage);
var $pager = $('<div class="pager"></div>');
for (var page = 0;
page < numPages; page++){
$('<span class="page-number"></span>').text(page + 1).bind('click', {
newPage: page
}, function(event){ console.log(currentPage);
currentPage = event.data['newPage'];
$table.trigger('repaginate');
$(this).addClass('active').siblings().removeClass('active');
}).appendTo($pager).addClass('clickable');
}
$pager.insertBefore($table).find('span.page-number:first').addClass('active');
});
谢谢。
我在前段时间创建了一个小的jQuery插件,名为jQuery-paging。虽然你的页面使用的是静态页面(而不是像我的页面那样加载所请求的页面),但你应该能够根据自己的需要进行调整。
你可能感兴趣的部分是-
function addLi(ul, text, page) {
var li = $("<li>" + text + "</li>");
li.data("paging", { page: page });
ul.append(li);
}
,
$this.empty();
var pages = parseInt(settings.pages);
var currentPage = parseInt(settings.currentPage);
var first = "<span class='ui-icon ui-icon-seek-first'></span>";
var last = "<span class='ui-icon ui-icon-seek-end'></span>";
var prev = "<span class='ui-icon ui-icon-seek-prev'></span>";
var next = "<span class='ui-icon ui-icon-seek-next'></span>";
var ul = $("<ul></ul>");
$this.addClass("pagingList");
$this.append(ul);
if (currentPage > 1) {
// Add first & prev
addLi(ul, first, 1);
addLi(ul, prev, currentPage - 1);
}
if (currentPage === pages && pages > 4) {
// Add currentPage - 4
addLi(ul, currentPage - 4, currentPage - 4);
}
if (currentPage > pages - 1 && pages > 3) {
// Add currentPage - 3
addLi(ul, currentPage - 3, currentPage - 3);
}
if (currentPage > 2) {
// Add currentPage - 2
addLi(ul, currentPage - 2, currentPage - 2);
}
if (currentPage > 1) {
// Add currentPage - 1
addLi(ul, currentPage - 1, currentPage - 1);
}
// Add current page
addLi(ul, "<b>" + currentPage + "</b>", currentPage);
if (pages > currentPage) {
// Add current page + 1
addLi(ul, currentPage + 1, currentPage + 1);
}
if (pages > currentPage + 1) {
// Add current page + 2
addLi(ul, currentPage + 2, currentPage + 2);
}
if (currentPage < 3 && pages > currentPage + 2) {
// Add current page + 3
addLi(ul, currentPage + 3, currentPage + 3);
}
if (currentPage === 1 && pages > currentPage + 3) {
// Add current page + 4
addLi(ul, currentPage + 4, currentPage + 4);
}
if (currentPage < pages) {
// Add next & last
addLi(ul, next, currentPage + 1);
addLi(ul, last, pages);
}
相关文章:
- 如果显示当前图像,则禁用链接
- 如何利用多链接延迟检查并显示ping结果,然后使用JavaScript选择最快的URL
- 显示可链接的搜索结果+对齐方式
- 根据链接显示 iframe 内容
- 如何使用Javascript对链接+显示消息进行编码
- 如何从 Web 窗体中的超链接显示 asp.net mvc 视图 asp.net
- Struts2 显示标签动态链接显示相同的行值
- 如何强制超链接显示“打开/保存”对话框,而不是在浏览器中打开它
- Fancybox链接显示另一个Fancybox
- 根据单击的超链接显示/隐藏表单
- 使用Javascript滚动到一个类,一旦它已经通过点击链接显示
- 根据图像地图链接显示不同的内容
- 使用链接显示和隐藏内容
- Html/Javascript -如何使一个Html链接显示一个url,并有它实际上被重定向到一个Javascript函
- 如何通过单击php中的链接显示消息
- 将JqGrid列模式显示为日期,超链接显示NAN/NAN/NAN
- 尝试获取正确的GET链接,该链接显示购物车中的良好信息
- 如何改变文本链接显示大,当鼠标在它上面
- 回复链接-显示/隐藏回复框
- 推特引导-通过点击链接显示模式