笔者前一段时间在做项目时,由于项目需求要用到jquery实现翻页,遂自己专研了一种翻页的方法,还希望大家指点。
做之前先写思路,这是笔者的一个习惯。也可以帮助自己理清关系。
功能需求是:点击“加载更多"实现数据在下面加载
1.页面刚刚加载时通过ajax获取首次绑定的数据
2.点击加载更多后通过ajax获取第二次加载的数据
3.把需要加载的数据循环追加在第一次后面
//num:每一页需要加载信息的条数
// i:自加参数, i 默认为0
页面刚刚加载前端代码:
$.ajax({
type: "post",
url: "index/textAjax",
contentType: "application/json",
dataType: "json",
data: "{num:'" + 10+ "',i:'" + i+ "'}",
success: function (data) {
//页面刚刚加载时输出的数据
var Htmls = "";for (var i = 0; i < data.length; i++) {
+"<div>"
+"<ul>"
+"<li>"
+data[i].name
+"</li>"
+"<li>"
+data[i].sex
+"</li>"
+"<li>"
+data[i].age
+"</li>"
+"</ul>"
+"</div>"
}
$("#cent").html(Htmls);
}})
//点击加载跟多后页面显示的数据,用jquery追加在第一次显示信息的后面
//现将i的值加一
i=i+1;
$.ajax({
type: "post",
url: "index/textAjax",
contentType: "application/json",
dataType: "json",
data: "{num:'" + 10+ "',i:'" + i+ "'}",
success: function (data) {
//页面刚刚加载时输出的数据
for (var i = 0; i < data.length; i++) {$("#cent").appent(
+ "<div><ul>"
+"<li>"
+data[i].name
+"</li>"
+"<li>"
+data[i].sex
+"</li>"
+"<li>"
+data[i].age
+"</li>"
+"</ul></div>"
)
}
}
})
//后台方法:
[HttpPost]
public ActionResult textAjax(string num, string i)
{if(i=0)
{
var data=select top num * from A ;
return Json(data);
}
else
{
var data=select top num * from A where id not in (select top num*i id from A)return Json(data);
}
}
以上代码就能实现一个简单的jquery分页,根据此逻辑也可以实现上一页,下一个,首页,最后一页,只需把appent和remove改成替换