以下是我的排序方法,可是排序完后把我绑定在tr上的事件给注销了,不求甚解。帮个忙啊!
// 选择排序实现函数
function selectSort() {
var $tr = $table.find('tbody').find('tr');
var trLen = $tr.size();
for (var i = 0; i < trLen - 1; i++) {
// 求极值
var pos = i;
for (var j = i + 1; j < trLen; j++) {
if (compare(getTdValue($tr.eq(j)), getTdValue($tr.eq(pos))) * order > 0) {
pos = j;
}
}
// 交换
if (compare(getTdValue($tr.eq(pos)), getTdValue($tr.eq(i))) * order > 0) {
var temp1 = $tr.eq(pos).clone();
var temp2 = $tr.eq(i).clone();
$tr.eq(pos).replaceWith(temp2);
$tr.eq(i).replaceWith(temp1);
// 下面这句很重要
$tr = $table.find('tbody').find('tr');
}
}
}
// 比较大小函数
function compare(v1, v2) {
if (options.type == 'number') {
v1 = parseFloat(v1);
v2 = parseFloat(v2);
}
if (v1 > v2) return 1;
else if (v1 == v2) return 0;
else return -1;
} // 获得单元格排序关键字
function getTdValue($tr) {
if (options.attr == '') return $tr.find('td').eq(options.col).text();
else return $tr.find('td').eq(options.col).attr(options.attr) == "undefined" ? 0 : $tr.find('td').eq(options.col).attr(options.attr);
}
// 选择排序实现函数
function selectSort() {
var $tr = $table.find('tbody').find('tr');
var trLen = $tr.size();
for (var i = 0; i < trLen - 1; i++) {
// 求极值
var pos = i;
for (var j = i + 1; j < trLen; j++) {
if (compare(getTdValue($tr.eq(j)), getTdValue($tr.eq(pos))) * order > 0) {
pos = j;
}
}
// 交换
if (compare(getTdValue($tr.eq(pos)), getTdValue($tr.eq(i))) * order > 0) {
var temp1 = $tr.eq(pos).clone();
var temp2 = $tr.eq(i).clone();
$tr.eq(pos).replaceWith(temp2);
$tr.eq(i).replaceWith(temp1);
// 下面这句很重要
$tr = $table.find('tbody').find('tr');
}
}
}
// 比较大小函数
function compare(v1, v2) {
if (options.type == 'number') {
v1 = parseFloat(v1);
v2 = parseFloat(v2);
}
if (v1 > v2) return 1;
else if (v1 == v2) return 0;
else return -1;
} // 获得单元格排序关键字
function getTdValue($tr) {
if (options.attr == '') return $tr.find('td').eq(options.col).text();
else return $tr.find('td').eq(options.col).attr(options.attr) == "undefined" ? 0 : $tr.find('td').eq(options.col).attr(options.attr);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货