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 相关文章推荐
xml 与javascript结合的问题解决方法
Mar 24 Javascript
JavaScript的面向对象方法以及差别
Mar 31 Javascript
jQuery编写widget的一些技巧分享
Oct 28 Javascript
ListBox实现上移,下移,左移,右移的简单实例
Feb 13 Javascript
JavaScript function 的 length 属性使用介绍
Sep 15 Javascript
jQuery中:submit选择器用法实例
Jan 03 Javascript
使用JavaScript刷新网页的方法
Jun 04 Javascript
jQuery动态添加
Apr 07 Javascript
JavaScript交换两个变量值的七种解决方案
Dec 01 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
Jun 21 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
Jan 07 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
Smarty模板快速入门
2007/01/04 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
jquery实现图片预加载
2015/12/25 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
Python random模块常用方法
2014/11/03 Python
Python re模块介绍
2014/11/30 Python
Python 模块EasyGui详细介绍
2017/02/19 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
Python一句代码实现找出所有水仙花数的方法
2018/11/13 Python
Python3 log10()函数简单用法
2019/02/19 Python
Python可迭代对象操作示例
2019/05/07 Python
python numpy中cumsum的用法详解
2019/10/17 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
python 实现的车牌识别项目
2021/01/25 Python
2014年三万活动总结
2014/04/26 职场文书
初中教师业务学习材料
2014/05/12 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书