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;
            }
        }
    }
}

时间: 2024-10-14 07:16:44

jquery实现table按时间排序的相关文章

jQuery对Table一个字段排序

最近做一个机票的系统,要对航班信息进行排序,所以整理了一下,把排序的方法写下来. 首先table的结构大概如下 最后显示的样式为 首先在每一个tr上加一个自定义属性:data-sort-field-ftime,对应的值就是起飞时间去掉":"后的一个字符串 这样,我们在排序的时候,只要将每个tr的data-sort-field-ftime的值,parseInt后,然后冒泡排序,就可以实现我要的效果. 给排序按钮加一个自定义属性:data-sort-type,值为"none&qu

jQuery对table排序

<script> //col对应列,cmp两数比较方法,返回值为TRUE,FALSE function sort(col, cmp) { var table = $("#test")//获取table var trs = table.find("tr");//找到所有行 var max; var index; var tmp; var arr = new Array(); for (i = 0; i < trs.length; i++) { arr

JQuery对当前的时间进行操作。

Jquery取出来的时间是国际化的时间.有时不符合我们的业务需求,我们可以根据Jquery提供的方法对时间进行截取组合. var date=new Date(); var str=""; str+=date.getFullYear()+'-';  //获得年的数据 str+=(date.getMonth()+1)+'-'; //获得月的数据,必须进行+1,因为月的下标从0开始.即6月显示为5. str+=date.getDate();  //获得日的信息. jQuery('#date'

jQuery遍历table中的tr td并获取td中的值

jQuery遍历table中的tr td并获取td中的值 $(function(){ $("#tableId tr").find("td").each(function(){ <span style="white-space:pre"> </span> var year = $("#year").val(); var month = $("#month").val(); var da

排序算法(4)-线性时间排序

在前面三节排序算法中,我们分别分析了不同策略,思想用于排序,而这些算法都是基于数据间的比较来确定顺序的.假设我不用比较,换一种思路,那么就可以达到时间复杂度为O(n)的排序算法,当然是以付出额外的空间为代价的. 一.基本思想 线性时间排序的算法思想: (1):在计数排序中,利用比x小或等的元素个数和的来确定x位置.比如2 5 4 9 1 6.9比其余5个数都大,那就说明9 在排序后的第6个位置,这样我们只要得到比某个数大的元素个数就能得到元素在排序后数组中的位置了. (2):在桶排序中,是通过映

jquery遍历table tr td内容

$("#result").find("tr").each(function () { $(this).find("td").each(function () { if ($(this).text().indexOf("惠") > 0) { var m = $(this).text().toString(); $(this).css("width", "165px"); $(this

jquery UI datepicker 添加时间的选择。

仅有日期的原始效果图: 支持时间选择的目标效果图: 第一步:引入几个重要的jquery UI 文件,其中zh-CN.js是支持中文的 <script href="Js/Jquery/jquery.js"/><script/> <script href="Js/jqueryui/jquery.ui.js"/><script/> <script href="Js/jqueryui/i18n/zh-CN.js

07.everything的搜索历史按照搜索时间排序

需求:everything的搜索历史按照搜索时间排序;(现在是按搜索次数排序的) "Sun Jun 23, 2013 8:14 am"的时候作者就说: Sorting search history by last search date in Everything is on my Things to do list. 但是看了更新日志,翻了菜单,并没有找到相关设置; www.voidtools.com ? View topic - When does Everything saves

python 根据文件创建时间排序

#coding:utf8 import os,time directory = "d:/scrapy tutorial/" t = [] d = {} for filename in os.listdir(directory): path = directory + filename time1 = time.ctime(os.path.getmtime(path)) d[time1] = filename t.append(time1) n = 1 for i in sorted(t