首页 > 编程语言 > 详细

jquery实现table按时间排序

时间:2016-09-06 06:46:51      阅读:393      评论:0      收藏:0      [点我收藏+]

$(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按时间排序

原文:http://www.cnblogs.com/happyrocky/p/web_jspsort.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!