jquery+ajax无刷新翻页
来源:互联网 发布:仙剑4mac版怎么破解 编辑:程序博客网 时间:2024/06/11 08:04
前台自定义通用分页jquery插件
(一)框架:用jquery+ajax+struts1实现 自动创建行和列
持久层用的是abatis.数据库用的是MySQL.
(二)sqlMap
shangjia.xml的配置如下
<resultMap class="java.util.LinkedHashMap" id="storeMap">
<result property="sto_id" column="sto_id"/>
<result property="sto_name" column="sto_name"/>
<result property="sto_contactphone" column="sto_contactphone"/>
<result property="sto_time" column="sto_time" javaType="string"/>
</resultMap>
<statement id="selectListStore" resultMap="storeMap" parameterClass="com.tj_zhongzhixin.common.util.PageResult" >
select sto_id,sto_name,sto_contactphone,sto_time from store limit #pageSize# offset #throwRows#
</statement>
小提示:为什么不用实体类映射 我之所以不用实体类映射(就是将resultMap的Class设成实体类),是因为自动生成的表格的行是根据集合中Map的个数决定的,而表格的列是根据集合中Map的键值对的个数决定的,所以如果用实体类映射的话自动生成的表格的列就要按照实体类的属性的个数决定。而不论你的sql语句是否是查询所有的属性,都会封装到Map中实体类里。这样就不能的到实际查询的属性,而是所有的属性。
小提示:为什么要用LinkedHashMap 当我运行页面是准确的显示出了我在sql中制定的属性,而不是所有的属性。但是有出现了一个问题就是:它的顺寻跟我在sql中指定的查询不一致(起初结果集封装到了HashMap中)。原来HashMap集合会自动给值排序,后发现LinkedHashMap不会自动排序。所以就选择了LinkedHashMap
jQuery.searchByPage.js
//jQuery提交请求数据
/*actionName为要跳转到的action的name
*param为页面参数(包括struts-config.xml中的parameter和其值,页数,每页显示的条数,查询的条件)
*options为操作的图标信息
*/
(function($){
$.showLostData=function(actionName,param){
$.ajax({
url:actionName,
type:"post",
data:param,
dataType:"json",
//在请求发出之前执行的函数
beforeSend:function(){
//dataTable为Table的Id其中table要放在From中
$("#dataTable").append(
"<div id='showWait' style='position:absolute;width:100%;height:100%;left:0;top:0;background-color:#808080;filter:alpha(opacity=15)'></div>");
//设置等待图片
$("#dataTable").append("<div id='showWaitImg' style='position:absolute;width:20px;height:20px;top:50%;left:50%'><img src='jQuery/page/blue-loading.gif'/></div>");
},
//请求成功 返回的data是PageResult(json)对象 格式如下
/**
{"firstRec":0,"list":[{"sto_id":1,"sto_name":"鼎盛行商","sto_contactphone":"18920022177","sto_time":"2009-11-17 16:27:43.0"},{"sto_id":2,"sto_name":"天津数码港","sto_contactphone":"13752134943/r/n13752134943/r/n13752134943/r/n","sto_time":"2009-11-25 16:27:49.0"}]
**/
success:function(data){
//行数
var trNum=data.list.length;
//列数
var tdNum="";
if(trNum==0){
alert("查询内容为空!");
}else{
//清空原先数据
$("#showData").empty();
//重新填充数据
for(var i=0;i<trNum;i++){
//创建tr
$("#showData").append("<tr id="+i+"></tr>");
//创建td
for(var temp in data.list[i]){
$("#"+i).append("<td class='list_data_ltext'>"+data.list[i][temp]+"</td>");
}
}
//创建翻页操作
/**
pageResult是一个分页类包含list集合,pageNo//页码; pageSize //每页显示条数 ;Total = 0; //总页数;
throwRows=0; //被跳过的记录数
下面是翻页的工具条,生成在一个实现创建的层里,层的类样式为pager
**/
$("div.pager").append("<div style='text-align:right;padding:6px 6px 0 0';></div>").html(
"共"+data["recTotal"]+"条记录 /r/n"+
"每页显示<input id=/"pageSize/" name=/"pageResult.pageSize/" value=/""+data["pageSize"]+"/" size=/"3/" />条 /r/n"+
"第<input id=/"pageNo/" name=/"pageResult.pageNo/" value=/""+data["pageNo"]+"/" size=/"3/" />页"+
" / 共"+data["pageTotal"]+"页 /r/n"+
"<a href=/"javascript:page_first();/">第一页</a> /r/n"+
"<a href=/"javascript:page_pre();/">上一页</a>/r/n"+
"<a href=/"javascript:page_next();/">下一页</a> /r/n"+
"<a href=/"javascript:page_last();/">最后一页</a>/r/n"+
"<input type=/"button/" class=/"common_button/" onclick=/"javascript:page_go();/" value=/"转到/" />/r/n"+
"<input type=/"hidden/" name=/"pageResult.orderBy/" value=/"/" />/r/n"+
"<input type=/"hidden/" name=/"pageResult.sort/" value=/"/" />/r/n"+
"<script>/r/n"+
" var pageTotal = "+data["pageTotal"]+";/r/n"+
" var recTotal = "+data["recTotal"]+";/r/n"+
"</script>/r/n"
);
}},
error:function(){
alert("请求失败!");
},
complete:function(){
$("#showWait").remove();
$("#showWaitImg").remove();
}
});
}
})(jQuery);
//操作翻页的js代码
function page_go()
{
page_validate();
$("form").submit();
}
function page_first()
{
document.forms[0].elements["pageResult.pageNo"].value = 1;
$("form").submit();
}
function page_pre()
{
var pageNo = document.forms[0].elements["pageResult.pageNo"].value;
document.forms[0].elements["pageResult.pageNo"].value = parseInt(pageNo) - 1;
page_validate();
$("form").submit();
}
function page_next()
{
var pageNo = document.forms[0].elements["pageResult.pageNo"].value;
document.forms[0].elements["pageResult.pageNo"].value = parseInt(pageNo) + 1;
page_validate();
$("form").submit();
}
function page_last()
{
document.forms[0].elements["pageResult.pageNo"].value = pageTotal;
$("form").submit();
}
function page_validate()
{
var pageNo = document.forms[0].elements["pageResult.pageNo"].value;
if (pageNo<1)pageNo=1;
if (pageNo>pageTotal)pageNo=pageTotal;
document.forms[0].elements["pageResult.pageNo"].value = pageNo;
var pageSize = document.forms[0].elements["pageResult.pageSize"].value;
if (pageSize<1)pageSize=1;
document.forms[0].elements["pageResult.pageSize"].value = pageSize;
}
function order_by(field){
document.forms[0].elements["pageResult.orderBy"].value = field;
page_first();
}
详情: http://hi.baidu.com/zhifeichuan/
- jquery+ajax无刷新翻页
- jquery ajax无刷新翻页 分页
- jquery 无刷新翻页
- jquery无刷新翻页,无翻页效果
- Jquery, Ajax无刷新翻页,支持跳转页面
- 页码js,支持ajax无刷新翻页
- PHP Ajax 页面无刷新 翻页
- ajax无翻页刷新简单实例2
- JQuery+Ajax无刷新分页
- ajax-jquery无刷新分页
- jQuery Ajax无刷新操作
- jquery ajax 无刷新分页
- JQuery+Ajax无刷新分页
- Java数据采集-7.Ajax无刷新请求(翻页-3)
- ajax静态页面无刷新添加留言,无刷新分页,翻页综合应用
- ajax静态页面无刷新添加留言,无刷新分页,翻页综合应用
- jQuery - ajax无刷新保存例子
- jquery-ajax-无刷新验证--案例6
- 关于 Eclipse中运行Nutch No URLs to fetch的问题解决
- FlexBuilder 快捷键
- 在Windows下使用Python编程
- Git和Repo扫盲——如何取得Android源代码
- 自定义ie右键菜单
- jquery+ajax无刷新翻页
- JS-点击隐藏显示div里面的内容和改变左边icon
- 几种常见设计模式的使用
- 让浏览器弹出像FTP访问服务器一样的用户名和密码输入框
- 浅析:setsockopt()
- 一个ntohs函数的实现
- 敏捷开发中编写高质量Java代码
- ucenter 用户加密方式
- extern "C"