JQuery+Ajax实现数据查询、排序和分页功能


Posted in Javascript onSeptember 27, 2015

之前很少会用javascript去实现页功能主要怕麻烦,但了解JQuery后这种想法发生了变化;有了这样的脚本组件就可以在编写脚本时方便和HTML隔离出来,这样编写高重用性的脚本就更方便。下面就是介绍在学习JQuery过程中编写的基于Ajax的数据查询、排序和分页功能的复用脚本,只要遵循脚本的某些规则描述HTML把脚本文件引入就可以方便实现以上描述的功能。
先看下实现功能的代码:

/**应用脚本规则:
引用脚本: JQuery脚本和JQuery的form插件脚本
Form的ID: viewform
显示数据的div的ID: listview
分页按钮HTML属性: pageindex="1"
排序按钮HTML属性: orderfield="employeeid desc";
提效排序字段Input的ID,Name: orderfield
提交分页索引Input的ID,Name: pageindex
**/
function onInitPaging()
{
$("#listview").find("[@orderfield]").each(function(i)
{
var ordervalue = $(this).attr("orderfield");
$(this).click(function()
{
$("#orderfield").val(ordervalue);
onSubmitPage();
}
);
}
);
$("#listview").find("[@pageindex]").each(function(i)
{
var piValue = $(this).attr("pageindex");
$(this).click(function()
{
$("#pageindex").val(piValue);
onSubmitPage();
}
);
}
);
}
function onSubmitPage()
{
var options = {
success: function SubmitSuccess(data){
$("#listview").html(data);
onInitPaging();
}
};
$('#viewform').ajaxSubmit(options);
}
$(document).ready(
function()
{
$("#search").click(function(){
$("#pageindex").val('0');
onSubmitPage()
});
onSubmitPage();
}
);

约束规则巧用了html的自定义属性,以上代码描述查询,排序和分页的ajax提交处理。在编写HTML时只需要遵循描述的规则即可,你并不需要在编写任何脚本代码;只需要把脚本添加到页面里:

<script src=jquery-latest.js></script>
<script src=form.js></script>
<script src=calendar.js></script>
<script src=calendar-setup.js></script>
<script src="lang/calendar-en.js"></script>
<script src=pagination.js></script>
<form id="viewform" method="post" action="FrmOrderView.aspx">
<input id="orderfield" name="orderfield" type="hidden" value="" />
<input id="pageindex" name="pageindex" type="hidden" value ="0"/>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100%">
<tr>
<td valign="top" align="left">
<table width="550" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 63px; height: 17px; background-color: gainsboro;">
CompanyName</td>
<td style="width: 114px; height: 17px;">
<input id="Text1" name="companyname" type="text" /></td>
<td style="width: 63px; height: 17px; background-color: gainsboro;">
ShipCity</td>
<td style="width: 126px; height: 17px;">
<input id="Text2" name="shipcity" type="text" /></td>
</tr>
<tr>
<td style="width: 63px; height: 14px; background-color: gainsboro;">
OrderDate</td>
<td style="width: 240px; height: 14px;" align="left">
<input id="Text3" name="OrderDate_Begin" type="text" />
<input id="button1" DateField="Text3" type="button" value="..." /></td>
<td style="width: 63px; height: 14px; background-color: gainsboro;">
</td>
<td style="width: 240px; height: 14px;" align="left">
<input id="Text4" type="text" name="OrderDate_End" />
<input id="button2" DateField="Text4" type="button" value="..." /></td>
</tr>
<tr>
<td style="height: 50px" align="left" colspan="4">
<input id="search" type="button" value="Search" /></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="99%">
<div id="listview"></div>
</td>
</tr>
</table>
</form>

以上就是关于如何利用JQuery方便实现基于Ajax的数据查询、排序和分页功能的思路,希望本文可以给大家带来启发和灵感。

Javascript 相关文章推荐
求数组最大最小值方法适用于任何数组
Aug 16 Javascript
基于jquery实现简单的手风琴特效
Nov 24 Javascript
Javascript基础知识盲点总结之函数
May 15 Javascript
微信小程序 使用canvas制作K线实例详解
Jan 12 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
Jun 19 Javascript
jQuery EasyUI Layout实现tabs标签的实例
Sep 26 jQuery
vue 将页面公用的头部组件化的方法
Dec 18 Javascript
浅谈Node.js 子进程与应用场景
Jan 24 Javascript
JS 实现分页打印功能
May 16 Javascript
JavaScript设计模式之工厂模式简单实例教程
Jul 03 Javascript
详解vue-cli下ESlint 配置说明
Sep 03 Javascript
关于微信小程序登录的那些事
Jan 08 Javascript
jQuery获取checkboxlist的value值的方法
Sep 27 #Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
Sep 27 #Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
Sep 27 #Javascript
asp知识整理笔记3(问答模式)
Sep 27 #Javascript
JS实现带鼠标效果的头像及文章列表代码
Sep 27 #Javascript
JS实现仿新浪黄色经典滑动门效果代码
Sep 27 #Javascript
AngularJS基础教程之简单介绍
Sep 27 #Javascript
You might like
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
2010/06/21 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
javascript demo 基本技巧
2009/12/18 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
Ajax异步文件上传与NodeJS express服务端处理
2017/04/01 NodeJs
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
javascript实现弹出层效果
2019/12/10 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
Python中optparser库用法实例详解
2018/01/26 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
PHP开发的一般流程
2013/08/13 面试题
绩效工资实施方案
2014/03/15 职场文书
士力架广告词
2014/03/20 职场文书
声乐专业大学生职业生涯规划书:理想的未来需要自己去打造
2014/09/20 职场文书
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
《山中访友》教学反思
2016/02/24 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
Python绘制散乱的点构成的图的方法
2022/04/21 Python