Jquery分页功能
Jquery代码
/// <reference path="jquery-1.9.1-vsdoc.js" />
//锚点
var anchor="#apage";
$(function(){
pagerFun();
$("#btnSearch").click(function(){
var name=$.trim($("#txtHospitalName").val());
var provinceId=$("#selProvince").val();
var rateLevel= $("#selRateLevel").val();
var pageUrl=location.href.replace(location.search,"").replace(anchor,"");
var newURL=pageUrl+"?name="+encodeURIComponent(name)+"&pid="+provinceId+"&level="+rateLevel+anchor;
location.href=newURL;
//location.replace(newURL)
});
// var Request = new Object();
// Request = $.getRequest();
// if(Request["name"]){
// var name=Request["name"];
// $("#txtHospitalName").val(decodeURIComponent(name));
// }
});
//分页方法
function pagerFun(){
var pageIndex=$("#hidPageIndex").val();
var pageCount=$("#hidPageCount").val();
var pageUrl=location.href.replace(location.search,"").replace(anchor,"");
var urlSearch=location.search;
if(urlSearch.indexOf("?") != -1) {
urlSearch=urlSearch.substr(1);
var paraArr=urlSearch.split("&");
if(paraArr[0].indexOf("p=")!=-1){
urlSearch=urlSearch.replace(paraArr[0],"");
}
if(urlSearch!=""&urlSearch.indexOf("&")!=0){
urlSearch="&"+urlSearch;
}
}
var strPager="";
var showPager=5;
var startIndex=1;
var endIndex=pageCount;
if(pageCount==2){
if(pageIndex==1){
strPager="<a class=\"curr\" href=\""+pageUrl+"?p=1"+urlSearch+anchor+"\">1</a>";
strPager=strPager+"<a href=\""+pageUrl+"?p=2"+urlSearch+anchor+"\">2</a>";
}
else{
strPager="<a href=\""+pageUrl+"?p=1"+urlSearch+anchor+"\">1</a>";
strPager=strPager+"<a class=\"curr\" href=\""+pageUrl+"?p=2"+urlSearch+anchor+"\">2</a>";
}
}
if(pageCount>2){
var prevPage=pageIndex-1;
if(prevPage<=0){
strPager="<span>上一页</span>";
}
else{
strPager="<a href=\""+pageUrl+"?p="+prevPage+urlSearch+anchor+"\">上一页</a>";
}
if(pageIndex>=5&&pageCount>5){
startIndex=parseInt(pageIndex)-2;
strPager=strPager+"<a href=\""+pageUrl+"?p=1"+urlSearch+anchor+"\">1</a>";
strPager=strPager+"<span class=\"defspan\">...</span>";
endIndex=parseInt(pageIndex)+2;
if(endIndex>=pageCount){
endIndex=pageCount;
startIndex=parseInt(pageCount)-4;
}
}
else{
if(pageCount>showPager){
if(pageIndex<showPager){
endIndex=showPager;
}
else{
endIndex=parseInt(pageIndex) +parseInt(showPager)-2;
}
}
}
for(var i=startIndex;i<=endIndex;i++)
{
if(i==pageIndex){
strPager=strPager+"<a class=\"curr\" href=\""+pageUrl+"?p="+i+urlSearch+anchor+"\">"+i+"</a>";
continue;
}
strPager=strPager+"<a href=\""+pageUrl+"?p="+i+urlSearch+anchor+"\">"+i+"</a>";
}
if(endIndex<pageCount){
if(endIndex!=parseInt(pageCount)-1){
strPager=strPager+"<span class=\"defspan\">...</span>";
}
strPager=strPager+"<a href=\""+pageUrl+"?p="+pageCount+urlSearch+anchor+"\">"+pageCount+"</a>";
}
var nextPage=parseInt(pageIndex)+1;
if(nextPage>pageCount){
strPager=strPager+"<span>下一页</span>";
}
else{
strPager=strPager+"<a href=\""+pageUrl+"?p="+nextPage+urlSearch+anchor+"\">下一页</a>";
}
}
$("#divPager").html(strPager);
}
前端代码
<input type="hidden" id="hidPageIndex" value="1" runat="server" />
<input type="hidden" id="hidPageCount" value="1" runat="server" />
<div class="pager" style="height: 30px;">
<div id="divPager" style="float: right; margin-right: 40px;">
</div>
</div>
后台代码
/// <summary>
/// 数据加载
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="provinceId">省份id</param>
/// <param name="name">医院名字</param>
/// <param name="level">星级</param>
private void DataLoad(int pageIndex, int provinceId, string name, string level)
{
phDataContext ph = new phDataContext();
//IQueryable<PetOrg> petOrgList = ph.PetOrg.Where(p => p.State == 1 && (p.ProvinceId == provinceId || provinceId == 0));
IQueryable<W_Petorg_PMP_PetOrgMoreInformation> petOrgList = ph.W_Petorg_PMP_PetOrgMoreInformation.Where(s => s.OrgState == 1);
if (!name.IsNullOrEmptyOrWhiteSpace())
{
name = Uri.UnescapeDataString(name);
txtHospitalName.Value = name;
petOrgList = petOrgList.Where(p => p.OrgName.Contains(name));
}
if (!provinceId.ToString().IsNullOrEmptyOrWhiteSpace()&&provinceId!=0)
{
petOrgList = petOrgList.Where(a => a.ProvinceId == provinceId);
}
int count = petOrgList.Count();
int pageCount = OperatHelper.GetUpInt(count, pageSize);
if (pageIndex > pageCount)
{
pageIndex = pageCount;
}
if (pageIndex <= 0)
{
pageIndex = 1;
}
if (count == 0)
{
//noHospital.InnerText = "无记录!";
}
else
{
rep_bind.DataSource = petOrgList.OrderByDescending(p => p.CreateDate).Skip((pageIndex - 1) * pageSize).Take(pageSize);
rep_bind.DataBind();
}
hidPageCount.Value = pageCount.ToString();
hidPageIndex.Value = pageIndex.ToString();
}
Jquery分页功能的更多相关文章
- 【jQuery 分页】jQuery分页功能的实现
自写的jQuery实现分页功能的分页组件: 功能效果如下: 分页组件就是上图中的三部分, 分别放在表格上部 和下部 . 其中, 1>>>页面的代码如下: product.jsp 其 ...
- jquery 分页功能
<div class="wrapper"> <div class="row"> <div class="col-sm-1 ...
- jPList – 实现灵活排序和分页功能的 jQuery 插件
jPList 是一个灵活的 jQuery 插件,可以用于任何 HTML 结构的排序,分页和筛选.它支持的数据源包括:PHP + MySQL,ASP.NET + SQL Server,PHP + SQL ...
- jQuery实现的简单分页功能的详细解析
分页功能在项目开发中不可或缺,老司机操作起来就和呼吸一样简单,新手恐怕就会吃力一些. 今天我回顾了一下具体的操作步骤,决定详细的分析一下每一步的实现目的及原理. 我们会创建一个简单的json文件来模拟 ...
- Jquery、Ajax实现新闻列表页分页功能
前端页面官网的开发,离不开新闻列表,新闻列表一般都会有分页的功能,下面是我自己总结加查找网上资料写的一个分页的功能,记录一下. 首先,官网的开发建立在前后端分离的基础上: 再有,后端小伙伴们提供列表页 ...
- jQuery静态分页功能
分页功能在做项目的过程中是常常用到的,下面是我常用的一款分页效果: 1.分页的CSS样式(page.css) #setpage { margin: 15px auto; text-align: cen ...
- 分享5种风格的 jQuery 分页效果【附代码】
jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示 源码下载 各个 ...
- Jqgrid的用法总结与分页功能的拓展
这是本人写的第一个与技术相关的博客,但是非挑战技术的,而是对工作的总结,另外加一点点拓展. Jqgrid的功能十分强大,强大到可以做到与数据grid相关的任何功能,同时由于在用的过程中总是不能够一气呵 ...
- jquery 分页控件2
jquery 分页控件(二) 上一章主要是关于分页控件的原理,代码也没有重构.在这一章会附上小插件的下载链接,插件主要就是重构逻辑部分,具体可以下载源文件看下,源代码也有注释.为了测试这个插件是能用的 ...
随机推荐
- java并发编程(4)--线程池的使用
转载:http://www.cnblogs.com/dolphin0520/p/3932921.html 一. java中的ThreadPoolExecutor类 java.util.concurre ...
- apache(nginx)+django+virutalenv(virtualenvwrapper)+gunicorn+supervisor配置高效web环境
前言 django的调试模式配置简单,用于测试十分方便,但众所周知,这个只适合于调试,生产上运行效率十分低下. 后来考虑用nginx+uwsgi的模式进行,但之前配置过apache+wsgi的方式,感 ...
- iOS Swift编程语言
Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序. Swift是一款易学易用的编程 ...
- C#方法的参数
- JS框架avalon简单例子 行编辑 添加 修改 删除 验证
为什么要写这个例子:做表单的时候,表单包含主子表,对于子表的编辑,使用的是easyui datagrid的行编辑功能,由于业务比较复杂,实现起来比较麻烦,代码写的也很多,因为插件的封装,无法操作原始的 ...
- js或css文件合并的三种方式推荐
源文档 <http://www.jb51.net/article/32834.htm> 在Web项目的开发中,js,css文件会随着项目的开发变得越来越多,越来越大,这就给给性能方面带来一 ...
- c#单例模式的实现
单例模式定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供. 实现要点: 1.是单例模式的类只提供私有的构造函数. 2.是类定义中含有一个该类的静态私有对象. 3.是该类提供了一个静态的共 ...
- C#遍历Dictionary
C#遍历Dictionary方法 Dictionary<string, int> d = new Dictionary<string, int>(); foreach (Key ...
- C#的变迁史 - C# 2.0篇
在此重申一下,本文仅代表个人观点,如有不妥之处,还请自己辨别. 第一代的值类型装箱与拆箱的效率极其低下,特别是在集合中的表现,所以第二代C#重点解决了装箱的问题,加入了泛型.1. 泛型 - 珍惜生命, ...
- 将文本文件(txt)的内容导入到Excel和SQL
这两天网络上流传14w条12306账号信息的txt文档,下载下来之后发现在txt文档中看和查询内容都不是很方便. 这里我就记录下如何将txt文档导入到excel和SQL的过程. 导入到excel 1. ...