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 相关文章推荐
js函数获取html中className所在的内容并去除标签
Sep 08 Javascript
使用js完成节点的增删改复制等的操作
Jan 02 Javascript
javascript时间函数大全
Jun 30 Javascript
浅谈Unicode与JavaScript的发展史
Jan 19 Javascript
Jquery的基本对象转换和文档加载用法实例
Feb 25 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
Mar 07 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
Jan 04 Javascript
JS实现队列的先进先出功能示例
May 10 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 jQuery
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
微信小程序getLocation 需要在app.json中声明permission字段
Mar 03 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程序员编程注意事项
2008/04/10 PHP
在PHP中养成7个面向对象的好习惯
2010/01/28 PHP
php 获取全局变量的代码
2011/04/21 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
PHP 类与构造函数解析
2017/02/06 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
jQuery 操作option的实现代码
2011/03/03 Javascript
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
javascript获取选中的文本的方法代码
2013/10/30 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
2018/04/27 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
打开电脑上的QQ的python代码
2013/02/10 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
python在每个字符后添加空格的实例
2018/05/07 Python
Python global全局变量函数详解
2018/09/18 Python
python中的时区问题
2021/01/14 Python
python链表类中获取元素实例方法
2021/02/23 Python
La Redoute英国官网:法国时尚品牌
2017/04/27 全球购物
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
五四青年节优秀演讲稿范文
2014/05/28 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
React四级菜单的实现
2022/04/08 Javascript