mah983379392 2018-01-19 08:46 采纳率: 25%
浏览 4473
已结题

datatables中删除数据问题,最后一页只有一条数据删除跳转前一页

datatable显示数据时,当我在最后一页只有一条数据时删除它,想让它跳转到前一页怎么处理。或者一页有10条数据,添加一条数据之后跳转到第二页怎么处理。比如
一共有31条数据,那么分页为4页,第四页只有一条数据,当我把它删除时,则程序应该
跳到第三页显示,但是其仍然停留在没有第四页的那儿,这个怎么处理
![图片说明](https://img-ask.csdn.net/upload/201801/19/1516349274_490491.png)图片说明

function getData(){
    var id = 0;
    var cycle=$("#cycleStatus").val();
    var flag = $("#flag").val();
     var table = $('#userList').DataTable({
          "destroy": true,   //可以重新初始化,用于搜索
          "lengthChange": false,
          "ordering": false,   //排序
          "info": true,        //
          "autoWidth": true,   //宽度自动
          "paging": true,      //分页
          "searching": false,  //全局搜索关闭
          "processing": true,  //开启显示‘正在加载.../processing’
          "serverSide":true,
         //true代表后台处理分页,false代表前台处理分页
          "ajax" :  {
                  url:"${pageContext.request.contextPath}/listAll",
                  type:"get",
                  data:{
                      "sendcycle":cycle,
                      "keyWord":flag
                  }
                  },

          //参数显示
          "columns": [
                        {"data": null,'sClass':"text-center","width":"6%"},
                        /*{"data": "id", 'sClass': "text-center","width":"6%"},*/
                        {"data": "sourcename", 'sClass': "text-center","width":"8%",},
                        {"data": "purposename", 'sClass': "text-center","width":"8%",},
                        {"data": "needname", 'sClass': "text-center","width":"8%"},
                        {"data": "needman", 'sClass': "text-center","width":"8%",},
                        {"data": "sendcycle", 'sClass': "text-center","width":"8%",
                            "render": function ( data, type, full, meta ) {
                                var str="";
                                if(data==0){
                                    str="天";
                                }
                                if(data ==1){
                                    str ="月";
                                }
                                if(data ==2){
                                    str="年";
                                }
                                return str;
                            }
                        },
                        {"data": "lasttime", 'sClass': "text-center","width":"8%",
                            "render": function ( data, type, full, meta ) {
                                var str="";
                                if(full.sendcycle==0){
                                    str=data+"天";
                                }
                                if(full.sendcycle==1){
                                    str=data+"月";
                                }
                                if(full.sendcycle==2){
                                    str=data+"年";
                                }
                                return str;
                            }
                        },
                        {"data": "createtime", 'sClass': "text-center","width":"18%",},
                        {"data": "createman", 'sClass': "text-center","width":"8%",},

                        {"data":"id" , 'sClass': "text-center","width":"16%",
                            "render": function (data, type, full, meta ) {   
                                var str = "";
                                <shiro:hasPermission name="update">
                                str += "<font color='blue' data-toggle='modal' data-target='#accept' onclick=updateUserId(" + data +");>[更新]</font>&nbsp;";
                                </shiro:hasPermission>
                                <shiro:hasPermission name="delete">
                                str += "<font color='blue' data-toggle='modal' data-target='#accept' onclick=deleteUserId(" + data +");>[删除]</font>&nbsp;";
                                </shiro:hasPermission>

                                /*下发地市*/
                                str += "<font color='blue' data-toggle='modal' data-target='#accept' onclick=sendAreaId(" + data +");>[下发地市]</font>&nbsp;";
                                /*var time = full.createtime.split("-");*/
                                /*时间戳*/
                                var time =Date.parse(new Date(full.createtime));
                                var now =Date.parse(new Date());

                                if(full.sendcycle==0){
                                    var newDate=new Date();
                                    var day=full.lasttime;
                                    /*过期时间*/
                                    newDate.setTime(time+1000*3600*24*day);
                                    var date2=formatDate(newDate);
                                    var date2Stamp=Date.parse(new Date(date2));
                                    if(date2Stamp<now){
                                        return str+="<font color='red' data-toggle='modal' data-target='#accept';>[已过期]</font>&nbsp;";
                                    }else{
                                        return str+="<font color='green' data-toggle='modal' data-target='#accept';>[未过期]</font>&nbsp;";
                                    }

                                }
                                if(full.sendcycle==1){
                                    var newDate=new Date(full.createtime);
                                    var month=full.lasttime;
                                    /*不加会直接1+5=15*/
                                    newDate.setMonth(Number(newDate.getMonth())+Number(month));
                                    var date2=formatDate(newDate);
                                    var date2Stamp=Date.parse(new Date(date2));
                                    if(date2Stamp<now){
                                        return str+="<font color='red' data-toggle='modal' data-target='#accept';>[已过期]</font>&nbsp;";
                                    }else{
                                        return str+="<font color='green' data-toggle='modal' data-target='#accept';>[未过期]</font>&nbsp;";
                                    }


                                }
                                if(full.sendcycle==2){
                                    var newDate=new Date(full.createtime);
                                    var year=full.lasttime;
                                    newDate.setFullYear(Number(newDate.getFullYear())+Number(year));
                                    var date2=formatDate(newDate);

                                    var date2Stamp=Date.parse(new Date(date2));
                                    if(date2Stamp<now){
                                        return str+="<font color='red' data-toggle='modal' data-target='#accept';>[已过期]</font>&nbsp;";
                                    }else{
                                        return str+="<font color='green' data-toggle='modal' data-target='#accept';>[未过期]</font>&nbsp;";
                                    }

                                }
                                return str;
                             }  
                        }
                    ],

         /*"columnDefs": [{
             "searchable": false,
             "orderable": false,
             "targets": 0
         }],
         "order": [[1, 'asc']],*/
         /*设置操作之后仍在当前页*/
         bStateSave:true,
          //是否开启主题 
          "bJQueryUI": true,  
          "oLanguage": {    // 语言设置  
            "sLengthMenu": "每页显示 _MENU_ 条记录",  
            "sZeroRecords": "抱歉, 没有找到",  
            "sInfo": "从 _START_ 到 _END_ /共 _TOTAL_ 条数据",  
            "sInfoEmpty": "没有数据",  
            "sInfoFiltered": "(从 _MAX_ 条数据中检索)",  
            "sZeroRecords": "没有检索到数据",  
            "sSearch": "检索:",  
            "oPaginate": {  
              "sFirst": "首页",  
              "sPrevious": "前一页",  
              "sNext": "后一页",  
              "sLast": "尾页"  
            }  
          }
      });
    /*设置id自增长1*/
    table.on('draw.dt',function() {
        table.column(0, {
            search: 'applied',
            order: 'applied'
        }).nodes().each(function(cell, i) {
            //i 从0开始,所以这里先加1

            i = i+1;
            //服务器模式下获取分页信息,使用 DT 提供的 API 直接获取分页信息

            var page = table.page.info();
            //当前第几页,从0开始

            var pageno = page.page;
            //每页数据

            var length = page.length;
            //行号等于 页数*每页数据长度+行号

            var columnIndex = (i+pageno*length);
            cell.innerHTML = columnIndex;
        });
    });
    /*start = $("#targetTable").dataTable().fnSettings()._iDisplayStart;
    total = $("#targetTable").dataTable().fnSettings().fnRecordsDisplay();
    window.location.reload();
    if ((total - start) == 1) {
        if (start > 0) {
            $("#sorting-advanced").dataTable().fnPageChange('previous', true);
        }
    }*/
}

  • 写回答

6条回答

  • 六月大雪纷飞 2018-01-19 09:06
    关注

    获取数据条数呗,假如1页是10条,就用10*页数来判断,如果大于10*页 数据的时候自动跳转下一页啊,同理,小于等于10*页 数据时自动跳转上一页

    评论

报告相同问题?

悬赏问题

  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺