1
我想對沒有任何插件的表格行進行排序。不幸的是,我沒有選擇使用插件。那麼這裏就是我試圖至今:使用jQuery排序表格行時忽略空單元格
var info = $('#project_table tr.punch_list_summary');
//For Closed Date
$(document).on('click', '#descending_closed_date', function(e) {
e.preventDefault();
var sortDir = -1;
info.sort(function(a, b) {
if ($(a).attr('data-closeddate') === 'null') {
if ($(b).attr('data-closeddate') === 'null') {
return false;
}
return true;
}
a = new Date($(a).attr('data-closeddate'));
b = new Date($(b).attr('data-closeddate'));
return (a - b) * sortDir;
});
$('#project_table').html(info);
sortDir = 1;
});
$(document).on('click', '#ascending_closed_date', function(e) {
e.preventDefault();
var sortDir = 1;
info.sort(function(a, b) {
if ($(a).attr('data-closeddate') === 'null') {
if ($(b).attr('data-closeddate') === 'null') {
return false;
}
return true;
}
a = new Date($(a).attr('data-closeddate'));
b = new Date($(b).attr('data-closeddate'));
return (a - b) * sortDir;
});
$('#project_table').html(info);
sortDir = -1;
});
});
正如你可以看到我使用data-attribute
的行進行排序。 封閉日期列可以爲空或可以有日期。問題是,它只是對隨機行進行排序,而且,我試圖將底部的所有空行和頂部的閉合日期的行。我可能做錯了什麼?
這裏的工作jsbin爲那些誰想看看我已經做到現在。我真的很感激任何幫助。
UPDATE
這裏有一個更新的jsbin。我現在可以通過關閉日期進行排序,但它仍然不會強制關閉日期爲空的行到底。
什麼不工作?按截止日期進行排序工作正常 – juvian
@juvian嗯,我希望將行與封閉的日期和空的下來,然後排序它們。 – user1601973
我不希望所有瀏覽器都以'new Date('Apr 25 2014');'的格式正確解析日期字符串,',其中的一部分結果是'NaN'。考慮使用[時間值](http://ecma-international.org/ecma-262/5.1/#sec-15.9.1.1)。 – RobG