bootstrap、jQuery、Ajax数据分页

效果图展示

JS代码

var RecordCount;//全局变量  总条数
var PageSize = 5;//全局变量 每页显示多少条数据

//点击查询时,开始分页
function btnSearch_Query() {
    AjaxPage(1, PageSize);
}
//分页方法
function AjaxPage(CurPage, PageSize) {
    //清空数据显示Table
    $('#SearchQuery_Table tbody tr').remove();
    $('#pageCount').html('0');
    $('#MainContent_AspNetPager_Msg').html(" <a disabled='disabled' style='margin-right:5px;'>← 上一页</a><span class='cpb' style='margin-right:5px;'>1</span><a disabled='disabled' style='margin-right:5px;'>下一页 →</a>");
    $('#CurrentPageSize').html(CurPage);//页

    //名称
    var Name = $('#Search_NameContains').val();

    //组合Json查询条件,查询分页数据 (CurPage、CurPage为必要条件)
    var CacceyJson = '{"Name":"' + Name + '","CurPage":' + CurPage + ',"PageSize":' + PageSize + '}';
    $.ajax({
        type: 'POST',
        async: false,
        cache: false,
        url: "AjaxPage/PostAjax.aspx?z=SearchQueryByAjaxPage&a=" + Math.random(),
        dataType: 'json',
        data: escape(CacceyJson),
        success: function (data) {
            if (data == null) {
                $('#SearchQuery_Table tbody').html("<tr><td colspan='6' class='red'>未查询到数据!</td></tr>");
            }
            else if (data != null && data.msg != 'login_timeout') {
				//返回的数据组合形式,然后将对象转换JSON字符串
			    //Dictionary<string, object> dic = new Dictionary<string, object>();
                //dic.Add("RecordCount", pageArgs.RecordCount);//总条数
                //dic.Add("Data", list);
                if (data["Data"] != null) {
                    var str = '';
                    for (var i = 0; i < data["Data"].length; i++) {
                        str += "<tr><td></td></tr>";//组合显示数据
                    }
                    $('#SearchQuery_Table tbody').html(str);
                    RecordCount = data["RecordCount"];
                    $('#pageCount').html(RecordCount);
                    //最大页数
                    var maxpage = RecordCount % PageSize == 0 ? parseInt(RecordCount / PageSize) : (parseInt(RecordCount / PageSize) + 1);

                    $('#MainContent_AspNetPager_Msg').html('');//分页链接
                    var span = "<a style='margin-right: 5px; cursor: pointer;' href='javascript:void(0)' onclick='PageIndexClick(this)' id='TopPage' pageindex='0'>← 上一页</a>";
                    var firstPage = 0;
                    var pagecount = 0;//循环的次数
                    if (maxpage > 10) {
                        pagecount = 10;
                    } else {
                        pagecount = maxpage;
                    }
                    if (CurPage > 10) {
                        pagecount = CurPage;
                        var firstPage = CurPage - 10;
                        if (firstPage >= 1) {
                            span += "<a style='margin-right: 5px; cursor: pointer;' href='javascript:void(0)'  onclick='CurPageSizeClick(" + firstPage + ",this)' >...</a>";
                        }
                    }
                    for (var j = firstPage + 1; j < pagecount + 1; j++) {
                        if (j == CurPage) {
                            span += "<span class='cpb' style='margin-right: 5px; cursor: pointer;' onclick='CurPageSizeClick(" + j + ",this)'>" + j + "</span>";
                        } else {
                            span += "<a style='margin-right: 5px; cursor: pointer;' href='javascript:void(0)'  onclick='CurPageSizeClick(" + j + ",this)' >" + j + "</a>";
                        }
                    }
                    pagecount = pagecount + 1;
                    if (maxpage > pagecount) {
                        span += "<a style='margin-right: 5px; cursor: pointer;' href='javascript:void(0)'  onclick='CurPageSizeClick(" + pagecount + ",this)' >...</a>";
                    }
                    span += "<a style='margin-right: 5px; cursor: pointer;' href='javascript:void(0)' onclick='PageIndexClick(this)' id='NextPage' pageindex='0'>→ 下一页</a>";
                    $('#MainContent_AspNetPager_Msg').html(span);
                }
                else {
                    $('#SearchQuery_Table tbody').html("<tr><td colspan='6' class='red'>未查询到数据!</td></tr>");
                }
            }
            else if (data.msg == 'login_timeout') {
                LoginTimeout();
            }

        }
    });
}

//首页、上一页、下一页、尾页点击
function PageIndexClick(obj) {
    //当前第几页
    var CurrenPageSize = $.trim($('#CurrentPageSize').html());
    if (CurrenPageSize != '') {
        CurrenPageSize = parseInt(CurrenPageSize);
    }
    //id
    var type = $(obj).attr('id');
    //首页
    if (type == 'FirstPage') {
        CurrenPageSize = 1;
        AjaxPage(CurrenPageSize, PageSize);
        $('#CurrentPageSize').html('1');
    }
        //上一页
    else if (type == 'TopPage') {
        if (CurrenPageSize > 1) {
            CurrenPageSize = CurrenPageSize - 1;
        } else {
            CurrenPageSize = 1;
        }
        AjaxPage(CurrenPageSize, PageSize);
        $('#CurrentPageSize').html(CurrenPageSize);
    }
        //下一页
    else if (type == 'NextPage') {
        var size = CurrenPageSize + 1;
        var maxpage = RecordCount % PageSize == 0 ? parseInt(RecordCount / PageSize) : (parseInt(RecordCount / PageSize) + 1);
        if (size <= maxpage) {
            CurrenPageSize = CurrenPageSize + 1
        }
        AjaxPage(CurrenPageSize, PageSize);
        $('#CurrentPageSize').html(CurrenPageSize);
    }
        //尾页
    else if (type == 'LastPage') {
        CurrenPageSize = (RecordCount % PageSize == 0 ? parseInt(RecordCount / PageSize) : parseInt(RecordCount / PageSize) + 1);
        AjaxPage(CurrenPageSize, PageSize);
        $('#CurrentPageSize').html(CurrenPageSize);
    }
}

//页数点击
function CurPageSizeClick(CurPage, obj) {
    $('#CurrentPageSize').html(CurPage);
    AjaxPage(CurPage, PageSize);
}

HTML代码

 <div class="row">
    <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12">
        <table class="table table-striped table-hover  table-bordered  bootstrap-datatable " id="SearchQuery_Table">
           <thead>
              <tr style="height: 25px;">
                 <td>条码</td>
                 <td>名称</td>
                 <td>上柜价</td>
                 <td>货号</td>
               </tr>
            </thead>
            <tbody>
            </tbody>
         </table>
   </div>
</div>
<div class="row" style="margin-top: 15px;">
   <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12">
      <div style="font-size: 14px;">共<label style="color: #20A8D8; font-size: 14px;" id="pageCount">0</label>条记录</div>
   </div>
</div>
<div class="row">
  <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12">
      <div id="MainContent_AspNetPager_Msg" class="paginator">
      </div>
      <div class="hidden" id="CurrentPageSize">1</div>
  </div>
 </div>

时间: 2024-08-09 14:48:52

bootstrap、jQuery、Ajax数据分页的相关文章

PHP中使用jQuery+Ajax实现分页查询多功能操作

1.首先做主页面Ajax_pag.php 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Ajax做分页</title> <script src="bootstrap/js/jquery-1.11.2.min.js"></script> <script src="Ajax_

jQuery ajax 实现分页 kkpager插件

代码片段一: <!--分页组件 JS CSS 开始--> <!--分页组件 CSS--> <link type="text/css" href="/resource/css/kkpager_blue.css" rel="stylesheet" /> <!--分页组件 JS--> <script type="text/javascript" src="/resour

jquery ajax自定义分页组件(jquery.loehpagerv1.0)原创

简单的两个步骤即可实现分页功能 <script src="<%=basePath%>/resources/js/jquery-1.7.1.min.js"></script> <script src="<%=basePath%>/resources/js/jquery.loehpagerv1.0.js"></script> <script type="text/JavaScript

JQuery+ajax数据加载..........

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><title&g

jQuery+Ajax+PHP+Mysql实现分页显示数据

css <style type="text/css"> #loading{ position: absolute; top: 200px; left:400px; } #container .pagination ul li.inactive, #container .pagination ul li.inactive:hover{ background-color:#ededed; color:#bababa; border:1px solid #bababa; curs

Jquery的DataTable插件 AJAX 服务器分页的的学习心得(java版)

首先得先引入对应的js 1.jquery.min.js  首先导入 2. File:        jquery.dataTables.min.js Version:     1.9.4     这是我使用的版本 这是  jsp 页面 关键的table  代码 <table id="fuck" class="table table-bordered data-table"> <thead> <tr> <span style=

jQuery+AJAX+Struts实现无刷新分页

jQuery+AJAX+Struts实现无刷新分页 说明: 1.需要jQuery插件js文件: 2.使用myeclipse添加struts能力: 从前从客户端页面向服务器发送Ajax请求,需要在js中先创建XMLHttpRequest对象,对象创建好以后使用OPEN('GET/POST',URL,同步/异步)设置提交方式,URL地址,使用同步还是异步方式.然后使用send(data)向服务器发送数据,同时使用onreadystatechange来绑定回调函数.如果是使用GET方式提交数据,那么就

asp.net中利用Jquery+Ajax+Json实现无刷新分页(二)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageTest.aspx.cs" Inherits="renmai_PageTest" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xh

PHP+jQuery 长文章分页类 ( 支持 url / ajax 分页方式 )

/* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8 ******* 其它组件:jQuery-1.8.3.min.js + Smarty 3.1.18 + TinyMCE 4.1.6 ******* Date:2014-10-20 ******* Author:小dee ******* Blog:http://www.cnblogs.com/dee0912/*