zoukankan      html  css  js  c++  java
  • 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;
                }
            }
        }
    }

  • 相关阅读:
    使用 git 提交报错:error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large 的解决办法
    vue3使用 svg, 不是 svg 图标,是 svg 大图片。可动态修改参数
    Unix信号列表
    Linux CentOS系统安装 node 版本管理工具 nvm
    《能源监测与评价》——产品能耗的节能监测
    脚本
    Parallels Desktop 安装 Centos 虚拟机
    Nuxt3 学习笔记
    电力行业中的一些基本概念
    管理成熟度和管理者成熟度
  • 原文地址:https://www.cnblogs.com/happyrocky/p/web_jspsort.html
Copyright © 2011-2022 走看看