jquery 操作表格实现代码(多种操作打包)


Posted in Javascript onMarch 20, 2011
jquery 操作表格实现代码(多种操作打包)
 
jquery 操作表格实现代码(多种操作打包)
 
 
代码很简单,在附件中,各位可以下载后直接运行.
<script type="text/javascript" language="javascript"> 
$(function() { 
jQuery.fn.alternateRowColors = function() { //做成插件的形式 
$('tbody tr:odd', this).removeClass('even').addClass('odd'); //隔行变色 奇数行 
$('tbody tr:even', this).removeClass('odd').addClass('even'); //隔行变色 偶数行 
return this; 
}; 
$('table.myTable').each(function() { 
var $table = $(this); //将table存储为一个jquery对象 
$table.alternateRowColors($table); //在排序时隔行变色 
$('th', $table).each(function(column) { 
var findSortKey; 
if ($(this).is('.sort-alpha')) { //按字母排序 
findSortKey = function($cell) { 
return $cell.find('sort-key').text().toUpperCase() + '' + $cell.text().toUpperCase(); 
}; 
} else if ($(this).is('.sort-numeric')) { //按数字排序 
findSortKey = function($cell) { 
var key = parseFloat($cell.text().replace(/^[^\d.]*/, '')); 
return isNaN(key) ? 0 : key; 
}; 
} else if ($(this).is('.sort-date')) { //按日期排序 
findSortKey = function($cell) { 
return Date.parse('1 ' + $cell.text()); 
}; 
} 
if (findSortKey) { 
$(this).addClass('clickable').hover(function() { $(this).addClass('hover'); }, function() { $(this).removeClass('hover'); }).click(function() { 
//反向排序状态声明 
var newDirection = 1; 
if ($(this).is('.sorted-asc')) { 
newDirection = -1; 
} 
var rows = $table.find('tbody>tr').get(); //将数据行转换为数组 
$.each(rows, function(index, row) { 
row.sortKey = findSortKey($(row).children('td').eq(column)); 
}); 
rows.sort(function(a, b) { 
if (a.sortKey < b.sortKey) return -newDirection; 
if (a.sortKey > b.sortKey) return newDirection; 
return 0; 
}); 
$.each(rows, function(index, row) { 
$table.children('tbody').append(row); 
row.sortKey = null; 
}); 
$table.find('th').removeClass('sorted-asc').removeClass('sorted-desc'); 
var $sortHead = $table.find('th').filter(':nth-child(' + (column + 1) + ')'); 
//实现反向排序 
if (newDirection == 1) { 
$sortHead.addClass('sorted-asc'); 
} else { 
$sortHead.addClass('sorted-desc'); 
} 
//调用隔行变色的函数 
$table.alternateRowColors($table); 
//移除已排序的列的样式,添加样式到当前列 
$table.find('td').removeClass('sorted').filter(':nth-child(' + (column + 1) + ')').addClass('sorted'); 
$table.trigger('repaginate'); 
}); 
} 
}); 
}); 
}); 
//分页 
$(function() { 
$('table.paginated').each(function() { 
var currentPage = 0; 
var numPerPage = 10; 
var $table = $(this); 
$table.bind('repaginate', function() { 
$table.find('tbody tr').hide().slice(currentPage * numPerPage, (currentPage + 1) * numPerPage).show(); 
}); 
var numRows = $table.find('tbody tr').length; 
var numPages = Math.ceil(numRows / numPerPage); 
var $pager = $('<div class="pager"></div>'); 
for (var page = 0; page < numPages; page++) { 
$('<span class="page-number"></span>').text(page + 1) 
.bind('click', { newPage: page }, function(event) { 
currentPage = event.data['newPage']; 
$table.trigger('repaginate'); 
$(this).addClass('active').siblings().removeClass('active'); 
}).appendTo($pager).addClass('clickable'); 
} 
$pager.insertBefore($table); 
$table.trigger('repaginate'); 
$pager.find('span.page-number:first').addClass('active'); 
}); 
}); 
</script>

打包下载地址
Javascript 相关文章推荐
关于javascript document.createDocumentFragment()
Apr 04 Javascript
一些常用的JS功能函数代码
Jun 23 Javascript
extjs 为某个事件设置拦截器
Jan 15 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
Sep 12 Javascript
深入理解javascript中defer的作用
Dec 11 Javascript
一个网页标题title的闪动提示效果实现思路
Mar 22 Javascript
JavaScript组合拼接字符串的效率对比测试
Nov 06 Javascript
input点击后placeholder中的提示消息消失
Jan 15 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
Oct 30 Javascript
利用jQuery实现一个简单的表格上下翻页效果
Mar 14 Javascript
javascript中json对象json数组json字符串互转及取值方法
Apr 19 Javascript
用VueJS写一个Chrome浏览器插件的实现方法
Feb 27 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
Mar 20 #Javascript
jquery图片上下tab切换效果
Mar 18 #Javascript
javascript一些实用技巧小结
Mar 18 #Javascript
jquery获取下拉列表的值为null的解决方法
Mar 18 #Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
Mar 17 #Javascript
javascript定时保存表单数据的代码
Mar 17 #Javascript
eval与window.eval的差别分析
Mar 17 #Javascript
You might like
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
php图片添加文字水印实现代码
2016/03/15 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
jQuery 使用手册(五)
2009/09/23 Javascript
JSON 学习之JSON in JavaScript详细使用说明
2010/02/23 Javascript
基于jquery用于查询操作的实现代码
2010/05/10 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
简介AngularJS中$http服务的用法
2016/02/06 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
详解django实现自定义manage命令的扩展
2019/08/13 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
2021/02/25 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
HTML5调用手机发短信和打电话功能
2020/04/29 HTML / CSS
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
赔偿协议书范本
2014/09/12 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
小班下学期个人总结
2015/02/12 职场文书
如何书写邀请函?
2019/06/24 职场文书
python实现批量移动文件
2021/04/05 Python
详解Spring Security如何在权限中使用通配符
2022/06/28 Java/Android