web前端|js教程
jquery,表格,本地排序,方法
web前端-js教程
本文实例讲述了jquery实现表格本地排序的方法。分享给大家供大家参考。具体实现方法如下:
游客观看限制源码,ubuntu网卡开热点,tomcat 看错误信息,爬虫间歇500,php后端技术介绍学习,laysns的SEOlzw
人人商城源码php,英文ubuntu显示中文,爬虫慕课评价,optgroup php,安徽快照seolzw
thead
{
background-color: Blue;
color: White;
}
tr.odd
{
background-color: #ddd;
}
tr.even
{
background-color: #eee;
}
.clickable
{
text-decoration: underline;
}
.hover
{
background-color: #5dd354;
}
.sorted
{
background-color: #ded070;
}
.page-number
{
color: Black;
margin:2px 10px;
padding:2px 5px;
}
.active
{
border:solid 1px red;
background-color:#76a7d2;
}
.pager
{
margin-bottom:10px;
margin-left:20px;
}
$(function() {
jQuery.fn.alternateRowColors = function() {//做成插件的形式
$( body tr:odd, this).removeClass(even).addClass(odd); //隔行变色 奇数行
$( body tr:even, this).removeClass(odd).addClass(even); //隔行变色 偶数行
return this;
};
$( able.myTable).each(function() {
var $table = $(this); //将table存储为一个jquery对象
$table.alternateRowColors($table);//在排序时隔行变色
$( h, $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( body>tr).get(); //将数据行转换为数组
$.each(rows, function(index, row) {
row.sortKey = findSortKey($(row).children( d).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( body).append(row);
row.sortKey = null;
});
$table.find( h).removeClass(sorted-asc).removeClass(sorted-desc);
var $sortHead = $table.find( h).filter(:nth-child( + (column + 1) + ));
//实现反向排序
if (newDirection == 1) {
$sortHead.addClass(sorted-asc);
} else {
$sortHead.addClass(sorted-desc);
}
//调用隔行变色的函数
$table.alternateRowColors($table);
//移除已排序的列的样式,添加样式到当前列
$table.find( d).removeClass(sorted).filter(:nth-child( + (column + 1) + )).addClass(sorted);
$table.trigger( epaginate);
});
}
});
});
});
//分页
$(function() {
$( able.paginated).each(function() {
var currentPage = 0;
var numPerPage = 10;
var $table = $(this);
$table.bind( epaginate, function() {
$table.find( body tr).hide().slice(currentPage * numPerPage, (currentPage + 1) * numPerPage).show();
});
var numRows = $table.find( body tr).length;
var numPages = Math.ceil(numRows / numPerPage);
var $pager = $(
普通填表源码,vscode查找变量,恩智浦安装ubuntu系统,tomcat项目优化,帆软sqlite驱动,淘宝客插件 找优惠券,前端库框架有哪些,python爬虫高级么,php单词,洛阳 seo,手机装逼网站源码,如何写网页的源代码,本地dede安装模板,管理系统java程序代码,知识变现小程序 微擎lzw
‘);
for (var page = 0; page < numPages; page++) {
$(”).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’);
});
});