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 相关文章推荐
jQuery select的操作实现代码
May 06 Javascript
IE6下js通过css隐藏select的一个bug
Aug 16 Javascript
JavaScript.The.Good.Parts阅读笔记(二)作用域&amp;闭包&amp;减缓全局空间污染
Nov 16 Javascript
js 立即调用的函数表达式如何写
Jan 12 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
Oct 22 Javascript
js获取浏览器和屏幕的各种宽度高度
Feb 22 Javascript
vue实现简单表格组件实例详解
Apr 16 Javascript
WebSocket实现简单客服聊天系统
May 12 Javascript
Vue.js实现网格列表布局转换方法
Aug 25 Javascript
微信分享invalid signature签名错误踩过的坑
Apr 11 Javascript
prettier自动格式化去换行的实现代码
Aug 25 Javascript
JS前端可扩展的低代码UI框架Sunmao使用详解
Jul 23 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 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
小文件php+SQLite存储方案
2010/09/04 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
php+xml编程之xpath的应用实例
2015/01/24 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
Javascript 中的 &amp;&amp; 和 || 使用小结
2010/04/25 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
详解jenkins自动化部署vue
2019/05/14 Javascript
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
pandas计数 value_counts()的使用
2019/06/24 Python
pow在python中的含义及用法
2019/07/11 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
主要的Ajax框架都有什么
2013/11/14 面试题
关于Java finally的面试题
2016/04/27 面试题
面试后的英文感谢信
2014/02/01 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
请假条格式范文
2014/04/10 职场文书
超市创业计划书
2014/09/15 职场文书
2015教师年度考核评语
2015/03/25 职场文书
药店收银员岗位职责
2015/04/07 职场文书