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实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
深入探讨JavaScript String对象
Mar 09 Javascript
jquery简单实现网页层的展开与收缩效果
Aug 07 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
May 03 Javascript
Bootstrap table分页问题汇总
May 30 Javascript
用JavaScript获取页面文档内容的实现代码
Jun 10 Javascript
JS JSOP跨域请求实例详解
Jul 04 Javascript
ThinkJS中如何使用MongoDB的CURD操作
Dec 13 Javascript
AngularJS页面传参的5种方式
Apr 01 Javascript
Vue表单验证插件Vue Validator使用方法详解
Apr 07 Javascript
基于three.js编写的一个项目类示例代码
Jan 05 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
Mar 17 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
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
深入php define()函数以及defined()函数的用法详解
2013/06/05 PHP
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
php判断ip黑名单程序代码实例
2014/02/24 PHP
php技巧小结【推荐】
2017/01/19 PHP
jquery 事件对象属性小结
2010/04/27 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
Python实现队列的方法
2015/05/26 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
Python的collections模块真的很好用
2021/03/01 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
美国知名平价彩妆品牌:e.l.f. Cosmetics
2017/11/20 全球购物
三八妇女节活动主持词
2014/03/17 职场文书
环保建议书500字
2014/05/14 职场文书
加强作风建设心得体会
2014/10/22 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
2014年基层党建工作总结
2014/11/11 职场文书
推荐信范文大全
2015/03/27 职场文书
军训决心书范文
2015/09/22 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
WIN10使用IIS部署ftp服务器详细教程
2022/08/05 Servers