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源码学习javascript(二)
Dec 27 Javascript
JS window对象的top、parent、opener含义介绍
Dec 03 Javascript
js获取 type=radio 值的方法
May 09 Javascript
JavaScript中浅讲ajax图文详解
Nov 11 Javascript
Vue.js原理分析之observer模块详解
Feb 17 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
Feb 19 Javascript
Bootstrap模态框(Modal)实现过渡效果
Mar 17 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
Aug 29 Javascript
p5.js入门教程之平滑过渡(Easing)
Mar 16 Javascript
vue.js购物车添加商品组件的方法
Sep 17 Javascript
vue子传父关于.sync与$emit的实现
Nov 05 Javascript
javascript实现用户必须勾选协议实例讲解
Mar 24 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的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
Prototype RegExp对象 学习
2009/07/19 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
jquery中ajax学习笔记4
2011/10/16 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
微信小程序 本地数据读取实例
2017/04/27 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
利用纯js + transition动画实现移动端web轮播图详解
2017/09/10 Javascript
Vue.js实现的计算器功能完整示例
2018/07/11 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
python爬取各类文档方法归类汇总
2018/03/22 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
浅谈Python3中print函数的换行
2020/08/05 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
《小小雨点》教学反思
2014/02/18 职场文书
晚归检讨书
2014/02/19 职场文书
中小学生学籍证明
2014/10/25 职场文书
车间质检员岗位职责
2015/04/08 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python