jquery 操作表格实现代码(多种操作打包) - Web前端
作者:98wpeu发布时间:2026-05-31分类:网页前端技术浏览:8
导读: 代码很简单,在附件中,各位可以下载后直接运行.复制代码代码如下:<scripttype="text/javascript"language="JavaScript"...
代码很简单,在附件中,各位可以下载后直接运行.复制代码 代码如下:
<scripttype="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 操作表格实现代码(多种操作打包) - Web前端
- jquery中获取select选中值的代码 - Web前端
- jquery下jstree简单应用 - v1.0 - Web前端
- jquery调用wcf并展示出数据的方法 - Web前端
- jQuery 的全选(全非选)即取得被选中的值使用介绍 - Web前端
- jQuery 1.5 源码解读 面向中高阶JSER - Web前端
- 为jQuery增加join方法的实现代码 - Web前端
- jquery异步调用页面后台方法&#8207;(asp.net) - Web前端
- Jquery知识点一 Jquery的ready和Dom的onload的区别 - Web前端
- 扩展easyui.datagrid,添加数据loading遮罩效果代码 - Web前端
- 网页前端技术排行
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


