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 相关文章推荐
aspx中利用js实现确认删除代码
Jul 22 Javascript
关于图片按比例自适应缩放的js代码
Oct 30 Javascript
50款非常棒的 jQuery 插件分享
Mar 29 Javascript
jquery插件jquery倒计时插件分享
Dec 27 Javascript
js改变鼠标的形状和样式的方法
Mar 31 Javascript
Node.js事件循环(Event Loop)和线程池详解
Jan 28 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
Nov 06 Javascript
JavaScript获取浏览器信息的方法
Nov 20 Javascript
JS图片等比例缩放方法完整示例
Aug 03 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
May 02 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
Jun 01 Javascript
微信小程序实现倒计时功能
Nov 19 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
Php获取金书网的书名的实现代码
2010/06/11 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
JS中的多态实例详解
2017/10/15 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
python执行外部程序的常用方法小结
2015/03/21 Python
Python递归函数定义与用法示例
2017/06/02 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
Python txt文件如何转换成字典
2020/11/03 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
数字天堂软件测试面试题
2012/12/23 面试题
广场舞大赛策划方案
2014/05/31 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
爱护公物主题班会
2015/08/17 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
使用python创建股票的时间序列可视化分析
2022/03/03 Python
python实现双链表
2022/05/25 Python