jquery 操作表格实现代码(多种操作打包)_Javascript教程-查字典教程网
jquery 操作表格实现代码(多种操作打包)
jquery 操作表格实现代码(多种操作打包)
发布时间:2016-12-30 来源:查字典编辑
摘要:代码很简单,在附件中,各位可以下载后直接运行.复制代码代码如下:$(function(){jQuery.fn.alternateRowCol...

代码很简单,在附件中,各位可以下载后直接运行.

复制代码 代码如下:

<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></div>');

for (var page = 0; page < numPages; page++) {

$('<span></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教程学习
    热门Javascript教程学习
    编程开发子分类