使用jquery编写一个分页组件(部分内容并不通用,以后需改善)
来源:互联网 发布:上海软件著作权登记 编辑:程序博客网 时间:2024/05/03 11:14
1、使用jquery编写一个分页组件
A、编写jsp数据展示页面,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@include file="../../backstage/common.jsp"%> <!-- 添加了一些常用的js,css --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><script type="text/javascript"src="<%=path%>/preStage/js/mygridData.js"></script><link rel="stylesheet" type="text/css" href="<%=path %>/preStage/js/css/mygridData.css"><script type="text/javascript"> $(function(){ gridDataTable({ divId:'zhaoPinListDiv', divTitle:'招聘英才', cellTitle:['应聘职位','发布时间','已阅读','已应聘'], cellSize:['50%','30%','10%','10%'], dataUrl:'listData', pageSize:1, listType:1 }); }); </script> <style type="text/css"> .tableCellTitle1,.tableCellTitle2,.tableCellTitle3{ text-align: center; } .tableContext1,.tableContext2,.tableContext3{ text-align: center; } </style></head><body><center><h3>招聘信息列表</h3><div id="zhaoPinListDiv" style="width: 700px; padding: 10px;"></div></center></body></html>
B、编写核心分页功能(jquery编写)
/*自定义样式的表格数据列表*/function gridDataTable(options){var divContainer = $("#"+options.divId);var divTitle = options.divTitle;var cellTitleNames = options.cellTitle;var cellSizeValues = options.cellSize;var dataUrlReq = options.dataUrl;var pageSizeValue = options.pageSize;var cellColumnsValue = options.cellColumns;var listTypeValue = options.listType;//初始页面为1var currentPage = 1;//总页数var totalPage;//上一页按钮对象var upPageButton = $("<button id ='upPageInput' style ='float:left; margin-left:20px;'>上一页</button>");//下一页按钮对象var downPageButton = $("<button id ='downPageInput' style ='float:right; margin-right:20px;'>下一页</button>");addTableHeadDiv();//表格对象var dataTable = $("<table class='addDataTableContainer'></table>");addDataTableTemp();/*创建表格数据表头*/function addTableHeadDiv(){divContainer.append($("<div class='divTableHeadTitle'>"+divTitle+"</div><hr/>"));}/*定义生成数据表格对象*/ function addDataTableTemp(){ var trObj = $("<tr class='tableCellTitle' ></tr>"); for(var i =0;i<cellTitleNames.length;i++){ trObj.append("<td width='"+cellSizeValues[i]+"' class='tableCellTitle"+i+"'>"+cellTitleNames[i]+"</td>"); } dataTable.append(trObj); divContainer.append(dataTable); var operationDiv = $("<div class = 'operationDiv'></div>"); operationDiv.append(upPageButton); operationDiv.append(downPageButton); divContainer.append("<hr/>"); divContainer.append(operationDiv); bindClickEventToPagination();} addDataToTable(); /*为表格添加数据*/ function addDataToTable(){ //移除已有数据 $(".tableContext").remove(); var params = "page="+currentPage+"&rows="+pageSizeValue; $.ajax({ url:dataUrlReq, type:'post', dataType:'json', data:params, success:function(data){ totalPage = Math.ceil(data.total/pageSizeValue); if(listTypeValue ==1){ fullDataToTable1(data.rows); } } }); } /*招聘职位列表 cellColumns:['pName','createDate','scanCount','acceptCount'],*/ function fullDataToTable1(rowsData){ for(var i =0;i<rowsData.length;i++){ var rowData = rowsData[i]; var dataTr = $("<tr class = 'tableContext' id = '"+rowData.pId+"'></tr>"); dataTr.append("<td class='tableContext"+0+"'>"+rowData.pName+"</td>"); dataTr.append("<td class='tableContext"+1+"'>"+rowData.createDate+"</td>"); dataTr.append("<td class='tableContext"+2+"'>"+rowData.scanCount+"</td>"); dataTr.append("<td class='tableContext"+3+"'>"+rowData.acceptCount+"</td>"); dataTable.append(dataTr); } paginationShow(); } /*分页按钮添加事件*/ function bindClickEventToPagination(){ $("#upPageInput").click(function(){ currentPage--; addDataToTable(); }); $("#downPageInput").click(function(){ currentPage++; addDataToTable(); }); } /*处理上一页与下一页的显示*/ function paginationShow(){ if(currentPage ==1){ upPageButton.attr('disabled',true); }else{ upPageButton.attr('disabled',false); } // alert(totalPage); // alert(currentPage); if(totalPage == currentPage){ downPageButton.attr('disabled',true); }else{ downPageButton.attr('disabled',false); } }}
C、为使用jquery生成的分页组件添加默认的样式
.divTableHeadTitle{ font-size: 20px; text-align: center; width:100%; margin: 0px;}.operationDiv{ width: 100%; margin: 0px; height: 40px;}.addDataTableContainer{ margin: 0px; padding: 0px; width: 100%; border: 1px; text-align:left;}.addDataTableContainer .tableCellTitle{ color: gray; font-size: 14px; height: 50px;}.tableContext{ font-size: 15px; height: 30px;}#upPageInput #upPageInput{ border: 1px; border-color: gray;}
D、运行结果截图
0 0
- 使用jquery编写一个分页组件(部分内容并不通用,以后需改善)
- 一个通用的 分页组件 (转)
- JQuery插件——通用分页组件
- JSP通用分页组件 pager-taglib使用
- JSP通用分页组件 pager-taglib使用
- PHP通用分页组件
- FreeMarker编写一个用于实现分页效果的通用指令
- 主题:一个还算通用的Struts2分页组件
- PHP通用的分页组件(分页加绑定数据)
- 通用分页 (基于jquery、bootstrap)
- vue分页组件编写
- jQuery部分内容
- 通用的ajax分页编写
- 自定义JSF通用分页组件
- Flex DataGrid通用分页组件
- jquery简易分页组件
- 一个分页组件
- 一个JSP分页组件
- iOS用ASIHttpRequest上传
- 实用的android颜色配置表(亮瞎尼的双眼) .
- jQuery Ajax 实例 ajax提交,post提交,get提交
- C语言 scanf 总结
- andorid下从相册选取/拍照选取一张相片并剪切
- 使用jquery编写一个分页组件(部分内容并不通用,以后需改善)
- ActionContext保存客户提交的参数,session会话等
- JNI之二:JNI demo手把手 && JNINativeMethod的参数解析
- 黑马程序员——学习笔记06.Java多线程
- linux下的sqlite3的编译安装 for arm
- node.js开发之学习笔记(一)
- 安卓开源框架集锦
- Android中DNS解析
- android RSA加解密