jquery 操作表格实现代码(多种操作打包)

 更新时间:2011年03月20日 23:28:23   作者:  
最近做东西需要对表格进行操作,用到的动作包括:添加一行数据、删除一行数据、上下移动数据,网上找了很多,但是不能完全满足我的需求,自己琢磨了下,搞了个这个东东
 
 
 
代码很简单,在附件中,各位可以下载后直接运行.
复制代码 代码如下:

<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>

打包下载地址

相关文章

  • jquery模拟picker实现滑动选择效果

    jquery模拟picker实现滑动选择效果

    这篇文章主要为大家详细介绍了jquery模拟picker实现滑动选择效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • jquery插件推荐 jquery.cookie

    jquery插件推荐 jquery.cookie

    这里给大家介绍一款兼容各大浏览器的jQuery处理cookies的插件jQuery.cookie,有需要的小伙伴们可以参考下
    2014-11-11
  • Jquery获得控件值的三种方法总结

    Jquery获得控件值的三种方法总结

    本篇文章主要是对Jquery获得控件值的三种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • jQuery动态星级评分效果实现方法

    jQuery动态星级评分效果实现方法

    这篇文章主要介绍了jQuery动态星级评分效果实现方法,涉及jquery动态操作页面元素样式的相关技巧,效果华丽大气,是一款非常优秀的特效源码,需要的朋友可以参考下
    2015-08-08
  • jquery点赞功能实现代码 点个赞吧!

    jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • jQuery遮罩层效果实例分析

    jQuery遮罩层效果实例分析

    这篇文章主要介绍了jQuery遮罩层效果,结合实例形式较为详细的分析了jQuery实现遮罩层的原理与相关技术细节,需要的朋友可以参考下
    2016-01-01
  • jQuery初学:find()方法及children方法的区别分析

    jQuery初学:find()方法及children方法的区别分析

    总经一下前段时间用于的jQuery方法:find及children。需要的朋友可以参考下。
    2011-01-01
  • jQuery右下角悬浮广告实例

    jQuery右下角悬浮广告实例

    现在很多网站都有悬浮广告,本篇文章主要介绍了jQuery右下角悬浮广告,非常具有实用效果,有需要的朋友可以来参考一下。
    2016-10-10
  • 简单的代码实现jquery定时器

    简单的代码实现jquery定时器

    项目遇到一个消息的模块,在导航条最上面.想实现,当收到消息的时候能够及时的刷新,显示收到消息的条数,下面为大家介绍两种不错的方法,感兴趣的朋友可以参考下
    2014-01-01
  • jQuery使用元素属性attr赋值详解

    jQuery使用元素属性attr赋值详解

    本文主要给大家讲解的是jQuery使用元素属性attr设置多个键值或函数的方法和示例,非常的实用,推荐给小伙伴们参考下。
    2015-02-02

最新评论