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 相关文章推荐
用js+xml自动生成表格的东西
Dec 21 Javascript
javascript学习笔记(十四) window对象使用介绍
Jun 20 Javascript
Jquery操作js数组及对象示例代码
May 11 Javascript
JavaScript的Number对象的toString()方法
Dec 18 Javascript
基于jQuery实现返回顶部实例代码
Jan 01 Javascript
javascript实现下雪效果【实例代码】
May 03 Javascript
详细谈谈javascript的对象
Jul 31 Javascript
JS中作用域和变量提升(hoisting)的深入理解
Oct 31 Javascript
你不知道的 javascript【推荐】
Jan 08 Javascript
bootstrap paginator分页前后台用法示例
Jun 17 Javascript
浅谈vue中慎用style的scoped属性
Nov 28 Javascript
微信小程序中weui用法解析
Oct 21 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代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
jQuery Validate验证框架详解(推荐)
2016/12/17 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
2017/04/01 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
python数据结构之二叉树的遍历实例
2014/04/29 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
Django 路由层URLconf的实现
2019/12/30 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
美国蔬菜和植物种子公司:Burpee
2017/02/01 全球购物
台湾专柜女包:KINAZ
2019/12/26 全球购物
如何获取某个日期是当月的最后一天
2013/12/05 面试题
自动化专业职业生涯规划书范文
2014/01/16 职场文书
销售主管岗位职责
2014/02/08 职场文书
农村婚庆司仪主持词
2014/03/15 职场文书
卫生巾广告词
2014/03/18 职场文书
员工安全生产承诺书
2014/05/22 职场文书
品质标语大全
2014/06/21 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
2015年社区党务工作总结
2015/04/21 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA