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中对对层的控制
Dec 29 Javascript
学习ExtJS table布局
Oct 08 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
Sep 26 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 Javascript
js实现符合国情的日期插件详解
Jan 19 Javascript
Angular5给组件本身的标签添加样式class的方法
Apr 07 Javascript
vue element项目引入icon图标的方法
Jun 06 Javascript
在 Vue.js中优雅地使用全局事件的方法
Feb 01 Javascript
vue.js this.$router.push获取不到params参数问题
Mar 03 Javascript
jQuery实现视频展示效果
May 30 jQuery
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
世界第一个无线广播电台 KDKA
2021/03/01 无线电
基于php设计模式中工厂模式详细介绍
2013/05/15 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
2016/08/11 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
2020/07/28 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
耐克中国官方商城:Nike中国
2018/10/18 全球购物
List、Map、Set三个接口,存取元素时,各有什么特点?
2015/09/27 面试题
中专毕业生个人职业生涯规划
2014/02/19 职场文书
大学生作弊检讨书
2014/02/19 职场文书
行政办公室岗位职责
2014/03/18 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
简易离婚协议书范本
2014/10/24 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
毕业论文答辩开场白
2015/05/27 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
SQL Server内存机制浅探
2022/04/06 SQL Server
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS