网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 js表头排序实现方法
内容
    这篇文章主要介绍了js表头排序实现方法,涉及数字、字母、字符串比较及排序等操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    本文实例讲述了js表头排序实现方法。分享给大家供大家参考。
    具体实现方法如下:
    代码如下:
    <script type=text/javascript>
    //是否递减排序
    var isdescending = true;
    /*****************************************
    * 要排序的行必须放到<tbody></tbody>标签中
    * tableid:排序表格id
    * colno:排序的列号,即第几列,从0开始
    * startrowno:排序的开始行号,从0开始
    * sortlength:要排序的行数,
    * type:排序列的类型
    */
    function sort(tableid, colno ,startrowno, sortlength, type)
    {
    //如果要排序的行数是1或是0,则不对其进行排序操作
    if(sortlength<=1){
    return;
    }
    var currtable = document.getelementbyid(tableid);
    var theheader = currtable.outerhtml.substring(0, currtable.outerhtml.indexof('<tbody>')+7)
    var thefooter = currtable.outerhtml.substring(currtable.outerhtml.indexof('</tbody>')-8);
    //这里的行数是去掉表头表头行和表位行的行数
    var therows = new array(sortlength);
    //对表中的数据进行循环
    for(i=startrowno; i<sortlength+startrowno; i++)
    {
    therows[i-startrowno] = new array(currtable.rows[i].cells[colno].innertext.tolowercase(), currtable.rows[i].outerhtml);
    }
    if(type.touppercase()=='number')
    {
    therows.sort(comparenumber);
    }
    else if(type.touppercase()=='date')
    therows.sort(comparedate);
    else if(type.touppercase()=='string')
    therows.sort(comparestring);
    var tableinfo=''
    for(j=0; j<therows.length; j++)
    {
    tableinfo+=therows[j][1];
    }
    isdescending = !isdescending;
    currtable.outerhtml= theheader + tableinfo +thefooter;
    return ;
    }
    //对数字进行比较
    function comparenumber(x, y)
    {
    //对货币格式的数据进行转化
    a = x[0].excludechars(,).trim();
    b = y[0].excludechars(,).trim();
    if(a==){a=0;}
    if(b==){b=0;}
    if(isdescending)
    {
    return parsefloat(b) - parsefloat(a);
    }
    else
    {
    return parsefloat(a) - parsefloat(b);
    }
    }
    //对字符串进行比较
    function comparestring(x, y)
    {
    if(isdescending)
    {
    if(x[0]>y[0]) return -1;
    else if(x[0]<y[0]) return 1;
    else return 0;
    }
    else
    {
    if(x[0]<y[0]) return -1;
    else if(x[0]>y[0]) return 1;
    else return 0;
    }
    }
    //对时间进行比较
    function comparedate(x,y){
    var arr=x[0].split(-);
    var starttime=new date(arr[0],arr[1],arr[2]);
    var starttimes=starttime.gettime();
    var arrs=y[0].split(-);
    var lktime=new date(arrs[0],arrs[1],arrs[2]);
    var lktimes=lktime.gettime();
    if(isdescending)
    {
    return lktimes - starttimes;
    }
    else
    {
    return starttimes - lktimes;
    }
    }
    //去除字符串中所有指定的字符串
    string.prototype.excludechars = function(chars){
    var matching = new regexp(chars , g) ;
    return this.replace(matching , '') ;
    }
    </script>
    希望本文所述对大家的javascript程序设计有所帮助。
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/17 16:56:05