jquery实现table按时间排序
Posted HappyRocky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery实现table按时间排序相关的知识,希望对你有一定的参考价值。
$(document).ready(function(){
sortTable();
});
var sortTable = function(){
$("#tableList").find("#cell_startDate").bind("click",function(){
var sortType = changSign("#tableList","#cell_startDate");
var sortByStartDateFun = sortByType(sort,".list_startDate label");
$("#tableList tbody").html($("#tableList tbody tr").sort(sortByStartDateFun));
});
}
var changSign = function(tableSign,rowSign)
{
var idtext = $(tableSign).find(rowSign).text();
var sortType = "asc";
if(idtext.indexOf("↑") > 0)
{
$(tableSign).find(rowSign).text(function(i,origText){
return origText.substring(0,4) + "↓";
});
sortType = "asc";
}else{
$(tableSign).find(rowSign).text(function(i,origText){
return origText.substring(0,4) + "↑";
});
sortType = "desc";
}
return sortType;
}
var sortType = function(sortType,list_sort){
return function sortByDate(a,b){
var aVal = $(a).find(list_sort).text();
var bVal = $(b).find(list_sort).text();
if("" == aVal)
{
return -1;
}
if("" == bVal)
{
return 1;
}
var aDateTemp = aVal.split(" ");
var bDateTemp = bVal.split(" ");
var arrStartDate = aDateTemp[0].split("-");
var arrEndDate = bDateTemp[0].split("-");
var arrStartTime = aDateTemp[1].split(":");
var arrEndTime = bDateTemp[1].split(":");
var allStartDate = new Date(arrStartDate[0],arrStartDate[1],arrStartTime[0],arrStartTime[1],arrStartTime[2]);
var allEndDate = new Date(arrEndDate[0],arrEndDate[1],arrEndTime[0],arrEndTime[1],arrEndTime[2]);
if(sortType == "asc")
{
if(allStartDate >= allEndDate)
{
return 1;
}else{
return -1;
}
}else{
if(allStartDate > allEndDate)
{
return -1;
}else{
return 1;
}
}
}
}
以上是关于jquery实现table按时间排序的主要内容,如果未能解决你的问题,请参考以下文章