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 相关文章推荐
javascript 同时在IE和FireFox获取KeyCode的代码
Feb 07 Javascript
JsRender for object语法简介
Oct 31 Javascript
JS中产生标识符方式的演变
Jun 12 Javascript
jQuery的内容过滤选择器学习教程
Apr 18 Javascript
AngularJS 中文API参考手册
Jul 28 Javascript
jquery自定义表单验证插件
Oct 12 Javascript
easyui messager alert 三秒后自动关闭提示的实例
Nov 07 Javascript
JS检测window.open打开的窗口是否关闭
Jun 25 Javascript
Vue导出json数据到Excel电子表格的示例
Dec 04 Javascript
微信小程序引用iconfont图标的方法
Oct 22 Javascript
详解如何探测小程序返回到webview页面
May 14 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
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备份/还原MySQL数据库的代码
2011/01/06 PHP
php木马webshell扫描器代码
2012/01/25 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
Smarty3配置及入门语法
2017/02/22 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
解决jquery的datepicker的本地化以及Today问题
2012/05/23 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
Javascript中八种遍历方法的执行速度深度对比
2017/04/25 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
Python的Django框架中的数据库配置指南
2015/07/17 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
小学新学期教师寄语
2014/01/18 职场文书
企业标语大全
2014/07/01 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
2014年物流工作总结
2014/11/25 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
四风之害观后感
2015/06/09 职场文书
交流会主持词
2015/07/02 职场文书