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 checkbox全选、取消全选、删除功能代码
Dec 19 Javascript
jQuery 源码分析笔记(5) jQuery.support
Jun 19 Javascript
javascript学习笔记(一) 在html中使用javascript
Jun 18 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
Jan 07 Javascript
日常收集整理的JavaScript常用函数方法
Dec 10 Javascript
让图片跳跃起来  javascript图片轮播特效
Feb 16 Javascript
js调用webservice构造SOAP进行身份验证
Apr 27 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
Mar 04 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
Apr 07 Javascript
JavaScript常用事件介绍
Jan 21 Javascript
200行HTML+JavaScript实现年会抽奖程序
Jan 22 Javascript
前端vue+express实现文件的上传下载示例
Feb 18 Vue.js
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常用代码
2006/11/23 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
redis查看连接数及php模拟并发创建redis连接的方法
2016/12/15 PHP
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
VUE简单的定时器实时刷新的实现方法
2019/01/20 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
Python的迭代器和生成器
2015/07/29 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
django的model操作汇整详解
2019/07/26 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
亚马逊印度站:Amazon.in
2017/10/15 全球购物
什么是反射?如何实现反射?
2016/07/25 面试题
中专毕业生自荐信
2013/11/16 职场文书
《商鞅南门立木》教学反思
2014/02/16 职场文书
学校志愿者活动总结
2014/06/27 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
高考1977观后感
2015/06/04 职场文书
PyQt5 QThread倒计时功能的实现代码
2021/04/02 Python
详解Python生成器和基于生成器的协程
2021/06/03 Python
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis