欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jquery+json实现数据列表分页示例代码

程序员文章站 2022-03-25 07:57:38
该实例中,新闻数据列表未使用表格显示。下面将所有附上,其中用到jquery插件。 . 代码如下: <%@ page language="java" import=&quo...

该实例中,新闻数据列表未使用表格显示。下面将所有附上,其中用到jquery插件。

. 代码如下:


<%@ page language="java" import="java.util.*" pageencoding="utf-8"%>
<%@ taglib uri="http://java.sun.com//jstl/core" prefix="c"%>
<c:set var="ctx" value="${pagecontext.request.contextpath}" />
<!doctype html public "-//w3c//dtd html 4.01 transitional//en">
<html>
<head>
<meta charset="utf-8">
<title>demo</title>

<script type="text/javascript" src="easyui/jquery-1.8.0.min.js"></script>

<script type="text/javascript" src="js/jquery.pagination.js"></script>

<link rel="stylesheet" href="js/pagination.css" type="text/css"></link>
<style type="text/css">
body {
width: 100%;
height: 100%;
margin: 0 auto;
padding: 0;
background-color: #fff;
}

#hen {
background-color: #000;
height: 50px;
margin: 0px;
padding: 12px 20px 2px 20px;
border: #ccc double 1px;
}

.page {
width: 1024px;
margin: 20px auto;
padding: 0;
}

#fm {
margin: 0;
padding: 10px 30px;
}

.ftitle {
font-size: 14px;
font-weight: bold;
color: #666;
padding: 5px 0;
margin-bottom: 10px;
border-bottom: 1px solid #ccc;
}

.fitem {
margin-bottom: 5px;
}

.fitem label {
display: inline-block;
width: 80px;
}

a {
text-decoration: none;
}

a:link {
text-decoration: none;
color: #000;
}

a:visited {
color: #000;
text-decoration: none
}

a:active {
color: #000;;
text-decoration: none
}

a:hover {
text-decoration: none;
color: red;
}

.d_over {
background-color: #efefef;
}

.d_out {
background-color: #ffffff;
}
</style>

<script type="text/javascript">
$(function(){//页面加载时,进行绑定

bind(0);
});

//点击分页时调用的函数,page_id为当前页的索引
function pageselectcallback(page_id, jq) {
bind(page_id);
}

function bind(pageindex)
{
var temp="";
var total=0;
$.ajax({
type:"get",
url:"sys/news.do?method=findbytopic&page="+(pageindex+1),
async:false, ////作用是防止在ajax成功调用之前就调用$("#pagination").pagination,这个时候数据个数还没有初始化
datatype:"json",
data:"pageindex="+(pageindex+1),//传递页面索引
//发送请求前,显示加载动画
beforesend:function(){$("#pload").show();$("#datas #pagination").hide()},
//请求完毕后,隐藏加载动画
complete:function(){$("#pload").hide();$("#datas #pagination").show()},
success:function(data){
var json=data.rows;//json数据
total=data.total;//记录总数
$.each(json,function(index,item){
temp+="<p id='datas' classdilass=\"d_out\" onmouver=\"this.classname='d_over'\" "+
"onmouseout=\"this.classname='d_out'\" style='padding: 10px 15px 12px 15px;'>"+
"<strong> <a style='font-size: 20px;' href='"+item.url+"' target='_blank'>"+
item.title+"</a></strong>"+
"<p style='font-size: 14px; font-famliy: 宋体; text-indent: 2em; margin-top: 5px;'>"+
item.summary+" }</p></p><hr />";
});
$("#datas").html(temp); //将创建的新行附加在div中
}

});

if(total!=0){
//调用分页函数,将分页插件绑定到id为pagination的p上
$("#pagination").pagination(total, { //recordcount在后台定义的一个公有变量,通过从查询记录进行赋值,返回记录的总数
callback: pageselectcallback, //点击分页时,调用的回调函数
prev_text: '« 上一页', //显示上一页按钮的文本
next_text: '下一页 »', //显示下一页按钮的文本
items_per_page:10, //每页显示的项数
num_display_entries:6, //分页插件中间显示的按钮数目
current_page:pageindex, //当前页索引
num_edge_entries:2 //分页插件左右两边显示的按钮数目

});
}

}
</script>
</head>
<body style="">
<!-- start header -->
<p id="hen">
<p style="color: #fff;">
<h1 style="font-size: 20px;">
实时动态
</h1>
</p>
<p style="text-align: right;">
<a
style="color: #fff; margin: 5px; text-decoration: none; cursor: pointer;"
href="index.jsp">返回首页</a>
</p>
</p>
<p class="page">
<p style="margin: 10px 0;"></p>
<p id="datas">
</p>
<p id="pload" style="text-align: center">
<img src="images/wait.gif" />
</p>
<p id="pagination" class="digg"></p>
</p>
<br />
<br />
</body>
</html>