首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单的分页jquery总是有10行

简单的分页jquery总是有10行
EN

Stack Overflow用户
提问于 2015-11-04 07:20:17
回答 1查看 670关注 0票数 1
代码语言:javascript
复制
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

代码语言:javascript
复制
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();
},

我正在做这个分页。我想用一种无论什么都有10行的方式来制作它。例如,项目计数是26页1和第2页是好的,因为他们都有10个项目,但第3页将只有6个项目。我想在第3页中添加4个空白项目,以便使其成为10个项目。

我尝试的是根据表行数追加行。但是我无法得到页面的当前行计数,我总是得到的项目长度是总项,即26项。

任何想法都是值得赞赏的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-04 07:26:30

在你的成功函数中,种子空结果作为空白。为了确保添加了10的集合,将长度修改为10,然后再加到0(或可被10整除)。

代码语言:javascript
复制
success: function(data) {

    //insert blanks to fill in blank spaces up to an even multiple of 10
    while(data.length % 10 != 0) data.push({ 
        sid: "", id1: "", name1: "", id2: "", name2: "", 
        id3: "", name3: "", id4: "", name4: ""
    });

    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();
},
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33515896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档