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 相关文章推荐
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
Apr 04 Javascript
Firefox和IE兼容性问题及解决方法总结
Oct 08 Javascript
node.js操作mongodb学习小结
Apr 25 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
Dec 16 Javascript
js实现n秒倒计时后才可以点击的效果
Dec 20 Javascript
实例详解AngularJS实现无限级联动菜单
Jan 15 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
Nov 08 jQuery
微信小程序使用progress组件实现显示进度功能【附源码下载】
Dec 12 Javascript
详解js访问对象的属性和方法
Oct 25 Javascript
vue前后分离调起微信支付
Jul 29 Javascript
vue实现公告栏文字上下滚动效果的示例代码
Jun 16 Javascript
Element el-button 按钮组件的使用详解
Feb 01 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文件注释标记及规范小结
2012/04/01 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
页面中iframe相互传值传参
2009/12/13 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
微信提示 在浏览器打开 效果实现过程解析
2019/09/10 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
python分割和拼接字符串
2013/11/01 Python
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
Python异常处理总结
2014/08/15 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
Python编码爬坑指南(必看)
2016/06/10 Python
Python实现定时任务
2017/02/08 Python
python 读取dicom文件,生成info.txt和raw文件的方法
2019/01/24 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
python实现飞船大战
2020/04/24 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
学习标兵获奖感言
2014/02/20 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
儿园租房协议书范本
2014/12/02 职场文书
停课通知书
2015/04/24 职场文书
工会经费申请报告
2015/05/15 职场文书
springboot如何初始化执行sql语句
2021/06/22 Java/Android