jquery+json实现数据列表分页

前端之家收集整理的这篇文章主要介绍了jquery+json实现数据列表分页前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/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(){$("#divload").show();$("#datas #Pagination").hide()},//请求完毕后,隐藏加载动画
        complete:function(){$("#divload").hide();$("#datas #Pagination").show()},success:function(data){	
            var json=data.rows;//json数据
            total=data.total;//记录总数
            $.each(json,function(index,item){
            	temp+="<div id='datas'  classdivclass=\"d_out\" onmouSEOver=\"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>"+
					"<div style='font-size: 14px; font-famliy: 宋体; text-indent: 2em; margin-top: 5px;'>"+
						item.summary+" }</div></div><hr />";
            });   
            $("#datas").html(temp); //将创建的新行附加在DIV中
        }
      
      });

	if(total!=0){
         //调用分页函数,将分页插件绑定到id为Pagination的div上
        $("#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 -->
		<div id="hen">
			<div style="color: #FFF;">
				<h1 style="font-size: 20px;">
					实时动态
				</h1>
			</div>
			<div style="text-align: right;">
				<a
					style="color: #FFF; margin: 5px; text-decoration: none; cursor: pointer;"
					href="index.jsp">返回首页</a>
			</div>
		</div>
		<div class="page">
			<div style="margin: 10px 0;"></div>
			<div id="datas">
			</div>
			<div id="divload" style="text-align: center">
				<img src="images/wait.gif" />
			</div>
			<div id="Pagination" class="digg"></div>
		</div>
		<br />
		<br />
	</body>
</html>

猜你在找的Json相关文章