Bootstrap V3.0 Ajax无刷新分页的实现 附代码
来源:互联网 发布:淘宝权女友 编辑:程序博客网 时间:2024/05/14 05:15
Bootstrap V3.0 Ajax无刷新分页的实现 附代码
效果图:
1.首先输入数据并提交:
2.控制台收到请求后 手动打回20条数据
3.查看前台变化,分页已显示
4.点击页号,Ajax无刷新发送请求
核心代码:
html部分:
<div class="fluid" id="data"> <div class="col-xs-12 well"> <span id="now"></span> <table class="table table-bordered"> <input type="button" class="btn btn-success pull-right" id="again" onclick="Again()" value="重新查询"> <caption></caption> <thead id="thead"> </thead> <tbody id="tbody"> </tbody> </table> <ul class="pagination" id="pager"> </ul> </div></div>
js部分:
/** * Created by wangpai on 2015/11/3. */var cnf_id = 0;var total=0;var tuple_num=15;var offset=0;var now=1; //pageAjax后更新nowvar pre=1;var next=11;var n=0;$("#data").hide();function pagepre(){ if(now==pre&&pre!=1) { //后退 $("#pager").find("li").last().prev().remove(); $("#pager").find("li").first().after("<li><a href=\"javascript:void(0)\" onclick=\"pageAjax(" + 15 + "," + (pre - 2) * 15 + ")\">" + (pre-1) + "</a></li>"); pre--; next--; } if(now>1) pageAjax(15,(now-2)*15); //跳转}function pagenext(){ if (now==next && next<n) { //前进 $("#pager").find("li").first().next().remove(); $("#pager").find("li").last().before("<li><a href=\"javascript:void(0)\" onclick=\"pageAjax(" + 15 + "," + next * 15 + ")\">" + (next+1) + "</a></li>"); if(next>=11&&next<n) { next++; pre++; } } if(now<n) pageAjax(15, now * 15); //跳转}function dopage(tuple_num,offsetInt,n){ $("#pager").append("<li><a href=\"javascript:void(0)\" onclick=\"pagepre("+n+")\"><</a></li>"); for(i=1;i<=n&&i<=11;i++) { $("#pager").append("<li><a href=\"javascript:void(0)\" onclick=\"pageAjax("+tuple_num+","+(offsetInt+i-1)*15+")\">"+i+"</a></li>"); } $("#pager").append("<li><a href=\"javascript:void(0)\" onclick=\"pagenext("+n+")\">></a></li>");}function doAjax() { var request_field=0; var cmd_type = 2; var start_time = $("#start_time").val(); var end_time = $("#end_time").val(); var ip = $("#ip").val(); var domain = $("#domain").val(); $("input[type=checkbox]").each(function(){ if($(this).prop("checked")==true) request_field=parseInt(request_field)+parseInt($(this).val()); }); var statusArray=["成功","指令ID重复","缺少必选字段","字段定义冲突", "版本错误","检验码错误","操作类型错误","长度错误","用户标识错误", "规则数量错误","数据查询失败","权限错误","指令处理超时"] statusArray[32]="时间字段错误"; statusArray[33]="IP地址字段错误"; statusArray[34]="掩码错误"; statusArray[34]="未知错误"; statusArray[301]="网络连接错误,无法与后端进行通讯"; statusArray[302]="错误的请求地址"; statusArray[303]="协议异常"; statusArray[304]="不支持的编码"; var request = { domain: { header: { cmd_type: cmd_type, cnf_id: cnf_id }, unit: { start_time: start_time, end_time: end_time, ip: ip, domain: domain, request_field: request_field }, }, offset:offset, tuple_num:tuple_num, };//调用了jquery.json 库 var encoded = JSON.stringify(request); var jsonStr = encoded; var actionStr = "../../../client/special_domain"; $.ajax({ url: actionStr, type: 'POST', data: jsonStr, dataType: 'json', contentType: "application/json; charset=utf-8", success: function (data) { $("#aye").button('reset'); if (data.rcmd.status == 0){ cnf_id=data.cnf_id; total=data.total; n=Math.ceil(total/tuple_num); if(n!=0) { $("#pager").empty(); $("#tbody").empty(); $("#thead").empty(); $("#thead").append("<tr><th>连接时间</th><th>客户端IP</th><th>服务器IP</th><th>域名</th><th>响应地址</th></tr>"); $("#now").text("第 "+now+" / "+n+"页"); $.each(data.domain, function(i, obj) { //初始分页 $("#tbody").append("<tr id=\"tr"+i+"\""+"></tr>"); $.each(obj, function(j, item) { if(item=="null"){ $("#tr"+i).append("<td>" +"无"+"</td>"); }else{ $("#tr"+i).append("<td>" + item +"</td>"); } }) }) dopage(tuple_num,0,n); $("#data").show(); $("#query").hide(); }else{ $(".modal-body").text("没有输据!"); $("#myModal").modal('show'); } } else{ $(".modal-body").text("错误码"+" "+data.rcmd.status+" "+statusArray[data.rcmd.status]); $("#myModal").modal('show'); }// Do Anything After get Return data// $.each(data.payload, function(index){// $("#result").append("</br>" + data.payload[index].beanStr);// }); }, Error: function (xhr, error, exception) { $(this).button('reset'); // handle the error. alert(exception.toString()); $("#myModal").modal('show'); } });}function pageAjax(tuple_num,offset){ var request_field=0; var cmd_type = 2; var start_time = $("#start_time").val(); var end_time = $("#end_time").val(); var ip = $("#ip").val(); var domain = $("#domain").val(); var offset_now =offset; var tuple_num_now=tuple_num; now=(offset_now/15)+1; //当前页码 $("input[type=checkbox]").each(function(){ if($(this).prop("checked")==true) request_field=parseInt(request_field)+parseInt($(this).val()); }); var pagerequest = { domain: { header: { cmd_type: cmd_type, cnf_id: cnf_id }, unit: { start_time: start_time, end_time: end_time, ip: ip, domain: domain, request_field: request_field }, }, offset:offset_now, tuple_num:tuple_num_now, }; var encoded = JSON.stringify(pagerequest); var jsonStr = encoded; var actionStr = "../../../client/special_domain"; $.ajax({ url: actionStr, type: 'POST', data: jsonStr, dataType: 'json', contentType: "application/json; charset=utf-8", success: function (data) { $("#aye").button('reset'); if (data.rcmd.status== 0){ $("#tbody").empty(); $("#now").text("第 "+now+" / "+n+"页"); $.each(data.domain, function(i, obj) { $("#tbody").append("<tr id=\"tr"+i+"\""+"></tr>"); $.each(obj, function(j, item) { if(item=="null"){ $("#tr"+i).append("<td>" +"无"+"</td>"); }else{ $("#tr"+i).append("<td>" + item +"</td>"); } }) }) } else{ $(".modal-body").text("错误码"+" "+data.rcmd.status+" "+statusArray[data.rcmd.status]); $("#myModal").modal('show'); }// Do Anything After get Return data// $.each(data.payload, function(index){// $("#result").append("</br>" + data.payload[index].beanStr);// }); }, Error: function (xhr, error, exception) { $(this).button('reset'); // handle the error. alert(exception.toString()); $("#myModal").modal('show'); } });}
0 0
- Bootstrap V3.0 Ajax无刷新分页的实现 附代码
- Bootstrap Paginator分页插件+ajax 实现动态无刷新分页
- Bootstrap Paginator分页插件+ajax 实现动态无刷新分页
- Bootstrap Paginator分页插件+ajax 实现动态无刷新分页
- 实现FreeMarker+Ajax的无刷新分页
- ajax实现分页无刷新
- AJAX实现无刷新分页
- Ajax 实现无刷新分页
- ajax实现无刷新分页
- Ajax 实现无刷新分页
- ajax实现无刷新分页
- ajax实现无刷新分页
- Ajax实现无刷新分页
- Ajax的无刷新分页
- AJAX实现无刷新分页的小例子
- php+ajax实现无刷新数据分页的办法
- 利用Ajax实现DataGrid无刷新分页
- 利用Ajax实现DataGrid无刷新分页
- 预处理语句占位符的使用
- 时间显示功能
- CANopen通信之PDO通信
- Android 开发架构学习篇
- 文章标题
- Bootstrap V3.0 Ajax无刷新分页的实现 附代码
- Hadoop 1.x中fsimage和edits合并实现
- BitNami一键安装Redmine
- Swift - 按钮(UIButton)的用法
- 几种常用的设计模式介绍
- Android软键盘弹出时把布局顶上去
- OC 中,覆盖属性会有怎么样的化学反应?
- 在xcode6.1和ios10.10.1环境下实现真机测试
- C++ 二叉树的遍历