【问题标题】:Unable to get next page in pagination无法在分页中获取下一页
【发布时间】:2017-03-27 15:45:41
【问题描述】:

我用nextprevious 按钮创建了简单的分页。 我的分页不起作用。

$(document).ready(function () {
    empRoles()
    var table = $('#myTable');
    var sta = 0;
    var pageNum = 1;
    var elements_per_page = 3;
    var roleList;
    var limit = elements_per_page;

    $('#newroleName,#searchroleName').focus(function () {
        $('.requiredField').hide();
        $('#newroleName').removeClass('error');
    });
    $('.searchClear').click(function () {
        $('.requiredField').hide();
        $('#searchroleName').removeClass("error");
        $('#searchroleName').val("");
       empRoles()
    });


function empRoles() {
   
            pagination(roleList)
           
                $('#content').html('');
                for (var i = sta; i < limit; i++) {
                    var table = '<tr  id="' + roleList[i].Id + '"><td>' + (i + 1) + '</td><td class="roleName" id="name' + i + '">' + roleList[i].name + '</td><td><button  class="btn edit btn-info btn-sm" id="edit' + i + '"><i class="fa fa-pencil"></i>Edit</button><button  class="btn update btn-success btn-sm" id="update' + i + '"><i class="fa fa-floppy-o"></i>Update</button><button class="btn dlt btn-danger btn-sm" onclick="deleteRow(this)" data-dismiss="modal" id="dlt' + i + '"><i class="fa fa-trash-o"></i>Delete</button><button class="btn editCancel btn-danger btn-sm" id="editCancel' + i + '" ><i class="fa fa-times"></i>Cancel</button></td><tr>';
                    $('#content').append(table);
                    editUpdate();
                }
    
}
function pagination(starting_row,max_size) {
    
    var max_size = roleList.length;
       $('.paginationList').append('<input type="text" class="btn col-lg-11 col-md-11 col-xs-12" id="pageNo" readonly="readonly">');
    $('.paginationList input').val(pageNum);
    
}
$(document).on('click', "#nextValue", function () {
    debugger
    var max_size = roleList.length;
    var starting_row = limit;
    if (max_size >= starting_row) {
        pageNum = eval(pageNum + 1);
        ending_row = limit + elements_per_page;
        limit = ending_row
        table.empty();
        if (limit > max_size) {
            ending_row = max_size;
        }
        $('.paginationList input').val(pageNum);
        pagination(starting_row, ending_row);
    }

});
$(document).on('click', "#PreValue", function () {
    var max_size = roleList.length;
    var pre = limit - (2 * elements_per_page);
    if (pre >= 0) {
        pageNum = eval(pageNum - 1);
        limit = limit - elements_per_page;
        table.empty();
        $('.paginationList input').val(pageNum);
        pagination(pre, limit);
    }
    if (pre < 0 && pageNum != 1) {
        var pre = limit;
        limit = (pageNum * 2) + (limit - 1);
        table.empty();
        $('.paginationList input').val(pageNum);
        pagination(pre, limit);
    }
});
});


我不知道出了什么问题。请参考这个小提琴 https://jsfiddle.net/tt5Lr2a2/

【问题讨论】:

  • 请在问题中添加代码 - 人们不应该点击离开就能提供帮助 - 创建代码 sn-p 而不是/以及小提琴
  • JSFiddle 的工作代码很好,但请确保也将相关代码发布到 StackOverflow 问题。
  • 还要添加静态数据而不是db调用,以帮助别人帮助你..
  • 请将您的代码放在这里,并确保您只向我们展示仍然重现问题所需的相关代码,而不是您的所有代码。马上,这将很难重现,因为我们无法获取您的数据库记录,因此我们的表将始终为空。也许您也可以(在此处发布代码旁边)向我们提供指向您的实时项目的链接,如果它在任何地方都存在的话。此外,我看到你在没有返回数据时调用了一个函数 NoData()(这对我们来说总是会发生)但是这个函数不存在,导致 ReferenceError。
  • 请检查我的第二个小提琴。我正在尝试用 ajax 在我的第一个小提琴中实现它。

标签: jquery


【解决方案1】:

您的小提琴中没有在函数 pagination() 中调用的 ajax 调用。因此您的数据永远不会刷新。此外,小提琴中的整个实现似乎存在缺陷。请参考以下示例以正确实现分页:How to use SimplePagination jquery

或参考一些分页库,如:

https://github.com/infusion/jQuery-Paging

https://github.com/infusion/jQuery-Paging

[编辑]

尝试使用以下方式操作您的 AJAX 调用:

pagination(starting_row,ending_row)
{

    $.ajax({
      url: "your_server_url",
      method: "POST",
      data: { startIndex: starting_row, endIndex: ending_row }
    }).done(function() {
      //execute rest of your DOM manipulation Code
    });
}

【讨论】:

  • 我可以在没有 ajax 调用的情况下轻松实现它jsfiddle.net/Lyv983yg。我正在尝试使用 ajax 调用。
  • 正是我的意思,请在每次单击下一个或上一个按钮时进行 ajax 调用,并发送相应的 start_Indexend_Index 以获取相同的信息。在您的服务器端,接收这些以便在服务器的响应中从您的数据库中发送相关数据
  • 对不起,我没听懂。
猜你喜欢
  • 1970-01-01
  • 2019-07-29
  • 1970-01-01
  • 2017-06-19
  • 2015-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
相关资源
最近更新 更多