【发布时间】:2015-11-04 15:32:13
【问题描述】:
var items;
var perPage = 10;
// now setup pagination
var $pagination = $("#searchresult");
$pagination.pagination({
itemsOnPage: perPage,
cssStyle: "light-theme",
onPageClick: function(pageNumber) { // this is where the magic happens
// someone changed page, lets hide/show trs appropriately
var showFrom = perPage * (pageNumber - 1);
var showTo = showFrom + perPage;
items.hide() // first hide everything, then show for the new page
.slice(showFrom, showTo).show();
}
});
function updateItems() {
items = $(".paginate");
// we'll update the number of items that the pagination element expects
// using a method from the simplePagination documentation: updateItems
$pagination.pagination("updateItems", items.length);
// next we'll re-select the page so the onPageClick function we already
// programmed will handle hiding and showing the correct content for us
// note that the page we were on before may no longer exist (i.e. if
// elements were removed and that page is no longer required), so we
// will make sure to select an existing page
var page = Math.min(
$pagination.pagination("getCurrentPage"),
$pagination.pagination("getPagesCount")
);
$pagination.pagination("selectPage", page);
var tablerow = $("#searchresult").find("tr:gt(0)").length;
if (tablerow < 10) {
for (var i = tablerow; i < 10; i++) {
var tr = $('<tr/>');
tr.append("<td id=''></td>");
tr.append("<td id=''></td>");
tr.append("<td id=''></td>");
tr.append("<td id=''></td>");
tr.append("<td id=''></td>");
tr.append("<td id=''></td>");
$("#searchresult").append(tr);
}
}
}
success ajax response
success: function(data) {
var tr;
$("#searchresult").find("tr:gt(0)").remove();
for (var i = 0; i < data.length; i++) {
tr = $('<tr class="paginate"/>');
tr.append("<td id=''>" + data[i].sid + "</td>");
tr.append("<td ><span id='" + data[i].id1 + "'>" + data[i].name1 + "</span></td>");
tr.append("<td ><span id='" + data[i].id2 + "'>" + data[i].name2 + "</span></td>");
tr.append("<td ><span id='" + data[i].id3 + "'>" + data[i].name3 + "</span></td>");
tr.append("<td ><span id='" + data[i].id4 + "'>" + data[i].name4 + "</span></td>");
tr.append("<td id=''>" + "<a class=\"searchresult\" href='#' >View Details</a>" + "</td>");
$("#searchresult").append(tr);
}
updateItems();
},
我正在这样做pagination。我想以某种方式使表格无论如何都有 10 行。例如,项目计数是 26 第 1 页和第 2 页都可以,因为它们都有 10 个项目,但第 3 页只有 6 个项目。我想将 4 个空白项目附加到第 3 页以使其成为 10 个项目。
我尝试的是根据表行数追加行。但我无法获得页面的当前行数,我总是得到的项目长度是总项目数,即 26。
任何想法都值得赞赏
【问题讨论】:
-
把
data.length改成10.. -
@GuruprasadRao 如果我得到超过 10 个它不会将它附加到表上?我需要附加所有数据所以我需要
data.length.. -
您只希望不惜一切代价附加 10 个项目,对吗?
-
不,不是 10 件,我的意思是每页 10 件,如果您不理解我的陈述,请见谅。我放了一个场景以便于理解@GuruprasadRao
-
第一个版本有点太基础了,修改后的版本可以容纳26项问题。
标签: jquery pagination