【发布时间】:2014-07-18 02:25:56
【问题描述】:
我正在使用 tablesorter 插件对表格进行排序,并使用 jQuery 进行分页。问题是当我对数据进行排序时,它只在该页面上排序,当我单击另一个页面并返回上一页时,整个数据都被排序了。
分页脚本:
$('table.datatable').each(function () {
var currentPage = 0;
var numPerPage = 8;
var $table = $(this);
$table.bind('repaginate', function () {
$table.find('tbody tr').hide().slice(currentPage * numPerPage, (currentPage + 1) * numPerPage).show();
});
$table.trigger('repaginate');
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"></span>').text(page + 1).bind('click', {
newPage: page
}, function (event) {
currentPage = event.data['newPage'];
$table.trigger('repaginate');
$(this).addClass('active').siblings().removeClass('active');
}).appendTo($pager).addClass('clickable');
}
$pager.insertAfter($table).find('span.page-number:first').addClass('active');
});
排序脚本:
$('.datatable').tablesorter({
dateFormat: "mmddyyyy",
headers: {
0: {
sorter: false
},
1: {
sorter: 'text'
},
2: {
sorter: 'text'
},
3: {
sorter: 'text'
},
4: {
sorter: 'text'
},
5: {
sorter: 'dateFormat'
},
6: {
sorter: 'dateFormat'
}
},
ignoreCase: true,
emptyTo: "bottom"
});
HTML:
<table class="datatable" id="maintable">
<th>...</th>
<tbody>...<tbody>
<table>
我希望在第一次排序时,整个数据跨所有页面进行排序。
【问题讨论】:
标签: jquery html pagination tablesorter