用jQuery中的ajax返回的json数据组合查询和组合查询的分页源码
1. 思路
在写分页的时候必定要考虑到在组合查询的时候也要分页。组合查询就是把你想要查询的条件获取并传到servelt中去处理,拼接成sql语句。
2.首先获取模糊查询的条件
所使用的html代码为:
<div>
姓名:<input type="text" name="name" id="name"/>
年龄:<input type="text" name="age" id="age"/>
出生日期:<input type="text" name="birth" id="birth"/>
薪资:<input type="text" name="salary" id="salary"/>
<input type="button" id="selBtn" value="查询员工"/>
</div>
当点击按钮的时候触发的事件
$("#selBtn").click(function(){
//val是获取当前匹配的值 在获取文本框中的值的时候要用val来获取
var $hrName = $("#name").val();
var $hrAge = $("#age").val();
var $hrBirth = $("#birth").val();
var $hrSalary = $("#salary").val();
var parms = "hrName="+$hrName+"&hrAge="+$hrAge+"&hrBirth="+$hrBirth+"&hrSalary="+$hrSalary;
//里面的三个参数一个是(当前页,拼接的参数,拼接好的sql语句)
getInfo(1,parms,"");
});
下面的getInfo就是一个分页的方法:
//分页的操作
function getInfo(nowPage,parms,where) {
//首先要判断parms是否为空
//把数据parms提前出来
if(parms==null){
//第一次访问的时候
parms = "oper=all&nowPage=" + nowPage+"&where="+encodeURIComponent(where);
}else{
parms = parms+"&oper=all&nowPage=" + nowPage+"&where="+where;
}
//发送jQuery中的json数据 查询所有
$.getJSON("./servlet/ListEmployeeJQuery?"+parms,function(data) {
//得到dom对象来获取员工的信息
var $dat = $(data.datas);
//在每次循环之前要清除以前的
$("#emps").each(function(index, dom) {
if (index == 0) {
$(this).empty(dom);
}
});
$dat.each(function(index, dom) {
//创建tr
var $tr = $("<tr/>");
$tr.attr("align", "center");
//创建td1,用来实现全选和反选的批量删除
var $td1 = $("<input type='checkbox'>");
//设置name和value,在批量中用到
$td1.attr("name","del");
$td1.attr("value",dom.id);
$tr.append($td1);
//创建td2,用来放编号
var $td2 = $("<td/>");
$td2.append(dom.id);
$tr.append($td2);
//创建td3,用来存放姓名
var $td3 = $("<td/>");
$td3.append(dom.hrName);
$tr.append($td3);
//创建td4,用来存放性别
var $td4 = $("<td/>");
$td4.append(dom.hrSex);
$tr.append($td4);
//创建td5,用来存放年龄
var $td5 = $("<td/>");
$td5.append(dom.hrAge);
$tr.append($td5);
//创建td6,用来存放出生日期
var $td6 = $("<td/>");
if (dom.hrBirth) {
$td6.append((dom.hrBirth.year + 1900) + "年"
+ (dom.hrBirth.month + 1) + "月"
+ (dom.hrBirth.date) + "日");
}
$tr.append($td6);
//创建td7,用来存放薪资
var $td7 = $("<td/>");
$td7.append(dom.hrSalary);
$tr.append($td7);
//把创建的tr放到id为 emps中
$("#emps").append($tr);
//为表格设置偶数行的颜色
$("#emps>tr:even").css("background-color", "pink");
//为表格设置奇数行的颜色
$("#emps>tr:odd").css("background-color", "#BEBEBE");
});
//分页创建
//分页在创建之前一定要清除
$("#pages").each(function(index, dom) {
if (index == 0) {
$(this).empty(dom);
}
});
//首页
var $firstPage = $("<a href='#'>");
$firstPage.append("首页");
$firstPage.click(function() {
data.nowPage = 1;
//获取当前页信息
getInfo(data.nowPage,null,data.whereSql);
});
//上一页
var $backPage = $("<a href='#'>");
$backPage.append("上一页");
$backPage.click(function() {
if (data.nowPage <= 1) {
data.nowPage = 1;
} else {
data.nowPage = data.nowPage - 1;
}
//获取当前页信息
getInfo(data.nowPage,null,data.whereSql);
});
//下一页
var $nextPage = $("<a href='#'>");
$nextPage.append("下一页");
$nextPage.click(function() {
if (data.nowPage >= data.countPage) {
data.nowPage = data.countPage;
} else {
data.nowPage = data.nowPage + 1;
}
//获取当前页信息
getInfo(data.nowPage,null,data.whereSql);
});
var $lastPage = $("<a href='#'>");
$lastPage.append("末页");
$lastPage.click(function() {
//获取当前页信息
data.nowPage = data.countPage;
getInfo(data.nowPage,null,data.whereSql);
});
//把分页的文本添加到id为pages中,即是加入到jsp中显示
$("#pages").append($firstPage);
$("#pages").append($backPage);
$("#pages").append($nextPage);
$("#pages").append($lastPage);
});
}
分享到:
相关推荐
实现了获取评论无刷新,发表评论无刷新,www.sendawangluo.com页面...做AJAX应用,jquery提供的$.get()、$.post()函数都可以用于提交数据,但建议使用$.ajax()来提交,那两个函数都不提供错误返回信息,不利全面掌控。
JQuery实现ajax上传文件示例源码 源码描述: url用来指定后台处理的程序,fileElementId指的是文件选择框的ID,dataType用来指定返回的数据格式,支持xml、script、json和html。 返回的json的格式最简单:{error:'...
php生成json和生成xml文件,并带有ajax分页效果,带图带数据库 thinkphp仿百度分页+分页样式,纯属手工源码分享,php+jquery
MVC3+Json+Ajax操作实例源码 源码描述: 该源码的目的是开发一个应用程序,用到了MVC3,JQuery,json脚本 为简单起见,这个例子用静态列表用来代替数据库。 源码你可以学习到: 如何使用jQuery JavaScript的confirm或...
本人QQ:364175837 前言 相信很多朋友都用过,Jquery的分页插件,我之前就用的jquery.paper这个,如果有兴趣可以留下QQ,我发份简单的实例源码给您。 该代码是晚上匆忙中完成的,所以没怎么优化,但是主要作为实例来...
该源码是asp.net+jquery+ajax简单留言板例子 v1.1,该源码是本例采用asp.net C#+ jquery1.4.1 +ajax的实现 本例主要用aspx文件请求 还可以用ashx处理 ajax返回类型也很多如: dataType: "xml", dataType: "json", ...
.NET源码,Ajax相关,jQuery,无刷新分页 jPagerBar是一款基于jQuery的分页插件,但是官方的实例太少,有些朋友想用但不知所措,它主要是配合AJAX/JSON等响应方式及数据格式,自动生成页码栏,可以在同一网页中重复...
NULL 博文链接:https://1601844782.iteye.com/blog/2274217
Json与pickle数据序列化 软件目录结构规范 本周作业 第5周 心灵分享 ATM存钱取钱案例剖析 模块定义、导入、优化详解 内置模块详解之time与datetime模块 内置模块详解之Range模块 内置模块详解之OS模块 内置模块...
jQuery向后台请求数据,ASP程序通过查询数据库将最新的几条记录显示在列表页,在列表页的底部有个“更多”链接,通过触发该链接,向服务端发送Ajax请求,后台ASP程序接收请求参数,并作出相应,获取数据库相应的记录...
基于jQuery兼容Bootstrap2、3样式,以及非Bootstrap环境支持也可应用于无任何UI框架的原生HTML环境输入框输入关键字快速查找(autocomplete)结果列表分页展示使用键盘快速操作基本功能及分页功能允许使用静态json...
Ajax异步:Jquery方式以及MVC方式 评论提交,评论显示,文章推荐等 Jquery 程序中的js基于jquery编写 用到的一些jquery插件: jquery.lazyload.js:图片预加载 jquery.pager.js:分页 jquery.dragsort.js:...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
博客 v1.2源码 网站结构: 权限:.net membership 文章分类:category.js(json格式存储) 文章内容:表 blog_article,blog_articledetail 以及 视图 blog_varticle 配置信息:general.config Json Json的...
源码如下(我是采用一页显示10条记录): 需要四个文件 一个实体类文件 CategoryInfoModel.cs 一个SqlHelper SQLHelper.cs 一个AJAX服务端处理程序 PagedService.ashx 一个客户端调用页面 WSXFY....
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
YQBlog个人博客系统源码 程序介绍: YQBlog - 基于Asp.Net MVC3 EF4.0技术的个人博客系统。 网站结构: 权限:.net membership 文章分类:category.js(json格式存储) 文章内容:表 blog_article,blog_...
功能特点:基于jQuery、Bootstrap2、3开发也可应用于无任何UI框架的原生HTML环境输入框输入关键字快速查找(autocomplete)结果列表分页展示使用键盘快速操作基本功能及分页功能允许使用静态json数据源或ajax动态...
jQuery向后台请求数据,PHP通过查询数据库将最新的几条记录显示在列表页,在列表页的底部有个“更多”链接,通过触发该链接,向服务端发送Ajax请求,后台PHP程序得到请求参数,并作出相应,获取数据库相应的记录并以...
Ajax异步:Jquery方式以及MVC方式 评论提交,评论显示,文章推荐等 Jquery 程序中的js基于jquery编写 用到的一些jquery插件: jquery.lazyload.js:图片预加载 jquery.pager.js:分页 jquery.dragsort.js:...