实现Table多类不同数据类型的排序(顺反)

JS如下:

var TableUtil = new Object();


TableUtil.Convert = function(sValue,sDataType)
{
    switch(sDataType)
    {
        case "int":
            return parseInt(sValue);
        case "float":
            return parseFloat(sValue);
        case "date":
            return new Date(Date.parse(sValue));
        default:
            return sValue.toString();           
    }
}

 

 

TableUtil.generateCompareCustomTRs  = function(iCol,sDataType)
{
    return function compare(oTR1,oTR2)
    {
        var vValue1,vValue2;
        if(oTR1.cells[iCol].getAttribute("value"))
        {
            vValue1 = TableUtil.Convert(oTR1.cells[iCol].getAttribute("value"),sDataType);
            vValue2 = TableUtil.Convert(oTR2.cells[iCol].getAttribute("value"),sDataType);          
        }
        else
        {
            vValue1 = TableUtil.Convert(oTR1.cells[iCol].firstChild.nodeValue,sDataType);
            vValue2 = TableUtil.Convert(oTR2.cells[iCol].firstChild.nodeValue,sDataType);
        }
       
        if(vValue1 <vValue2)
        {
            return -1;
        }
        else if(vValue1 > vValue2)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
}

TableUtil.sortCustomTypeTable = function(sTableId,iCol,sDataType)
{
    var oTable = document.getElementById(sTableId);
    var oTbody = oTable.tBodies[0];
    var colDataRows = oTbody.rows;
    var aTRs = new Array;
   
    for(var i=0;i<colDataRows.length;i++)
    {
        aTRs[i] = colDataRows[i];
    }
   
    if(oTable.sortCol == iCol)
    {
        aTRs.reverse();
    }
    else
    {
        aTRs.sort(TableUtil.generateCompareCustomTRs(iCol,sDataType));
    }
    var oFragment = document.createDocumentFragment();
    for(var i = 0;i <aTRs.length;i++)
    {
        oFragment.appendChild(aTRs[i]);
    }
    oTbody.appendChild(oFragment);
    oTable.sortCol = iCol;   
}

 

 

 

HTML如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title></title>
     <script src="JScript1.js" type="text/javascript"></script>
</head>
<body>
    <table id="tblSort" border="1" sortCol="">
        <thead >
            <tr>
                <th οnclick="TableUtil.sortCustomTypeTable('tblSort',0)" style="cursor:pointer">Type</th>
                <th οnclick="TableUtil.sortCustomTypeTable('tblSort',1)" style="cursor:pointer">Filename</th>
            </tr>
        </thead>
       
        <tbody>
            <tr>
                <td value="doc"><img src="images/wordicon.gif" /></td>
                <td>My resume</td>              
            </tr>
            <tr>
                 <td value="xls"><img src="images/excelicon.gif"/></td>
                <td>Fall Budget.xls</td>  
            </tr>
            <tr>
                 <td value="pdf"><img src="images/acrobaticon.gif" /></td>
                <td>How to be a better programmer.pdf</td>  
            </tr>
             <tr>
                 <td value="doc"><img src="images/wordicon.gif" /></td>
                <td>My Old Resume.doc</td>  
            </tr>
            <tr>
                 <td value="txt"><img src="images/notepadicon.gif" /></td>
                <td>Notes from Meeting.txt</td>  
            </tr>
            <tr>
                 <td value="zip"><img src="images/zippedfoldericon.gif" /></td>
                <td>Backups.zip</td>  
            </tr>
            <tr>
                 <td value="xls"><img src="images/excelicon.gif" /></td>
                <td>Spring budget.xls</td>  
            </tr>
            <tr>
                 <td value="doc"><img src="images/wordicon.gif" /></td>
                <td>Job Description - Web Designer.doc</td>  
            </tr>
            <tr>
                 <td value="pdf"><img src="images/acrobaticon.gif" /></td>
                <td>Saved Web Page.pdf</td>  
            </tr>
            <tr>
                 <td value="doc"><img src="images/wordicon.gif" /></td>
                <td>Chapter 12.doc</td>  
            </tr>
        </tbody>       
    </table>   
</body>
</html>

转载于:https://www.cnblogs.com/vihone/archive/2010/11/26/1889076.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475822.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1451. 重新排列句子中的单词(桶排序)

1. 题目 「句子」是一个用空格分隔单词的字符串。给你一个满足下述格式的句子 text : 句子的首字母大写text 中的每个单词都用单个空格分隔。 请你重新排列 text 中的单词&#xff0c;使所有单词按其长度的升序排列。 如果两个单词的长度相同&#xff0c;则保留其在原句子中…

Linux系统服务器停服,Linux系统服务启动和停止

systemd 是在Linux上运行服务的新方式。 systemd 有一个被替代的 sysvinit 。 systemd为Linux带来更快的启动时间&#xff0c;现在是管理Linux服务的标准方式。虽然稳定&#xff0c; systemd 仍在不断发展。systemd 作为init系统&#xff0c;用于管理Linux内核引导后需要更改状…

如何计算MP3总时长的问题(三)--对于变比特率MP3求总时长

3、变比特率MP3总时长求解 之前我们所讨论的都是对于一个固定比特率&#xff08;CBR&#xff09;的MP3进行求总时长&#xff0c;由于固定比特率的特殊性&#xff0c;很容易第一帧的帧头就能知道整个MP3的信息&#xff0c;但是对于变比特率&#xff08;VBR&#xff09;的MP3&…

LeetCode 1452. 收藏清单(std::includes判断子集)

1. 题目 给你一个数组 favoriteCompanies &#xff0c;其中 favoriteCompanies[i] 是第 i 名用户收藏的公司清单&#xff08;下标从 0 开始&#xff09;。 请找出不是其他任何人收藏的公司清单的子集的收藏清单&#xff0c;并返回该清单下标。下标需要按升序排列。 示例 1&a…

2011年值得注意的5个设计趋势

在过去的12个月里&#xff0c;我们已经看到Web设计领域发生了许多变化。 包括智能手机和平板电脑(如iPad)这些移动设备的日渐普及已经改变了用户对内容的访问和交互方式。还有&#xff0c;像HTML5、web字体和CSS这些新标准的正式通过意味着越来越多的用户可以使用网络上最新最强…

linux内核线程绑定到单个核,linux 将进程或者线程绑定到指定的cpu上

基本概念cpu亲和性(affinity)CPU的亲和性&#xff0c; 就是进程要在指定的 CPU 上尽量长时间地运行而不被迁移到其他处理器&#xff0c;也称为CPU关联性&#xff1b;再简单的点的描述就将指定的进程或线程绑定到相应的cpu上&#xff1b;在多核运行的机器上&#xff0c;每个CPU本…

LeetCode 1453. 圆形靶内的最大飞镖数量(几何题)

1. 题目 墙壁上挂着一个圆形的飞镖靶。现在请你蒙着眼睛向靶上投掷飞镖。 投掷到墙上的飞镖用二维平面上的点坐标数组表示。飞镖靶的半径为 r 。 请返回能够落在 任意 半径为 r 的圆形靶内或靶上的最大飞镖数。 示例 1&#xff1a; 输入&#xff1a;points [[-2,0],[2,0…

熟悉linux运行环境,实验一 熟悉Ubuntu环境

实验一熟悉Ubuntu环境【实验目的】1&#xff0e;了解Ubuntu系统基本操作方法&#xff0c;学会独立使用该系统。2&#xff0e;熟悉Ubuntu下如何编辑、编译和运行一个C语言程序。3&#xff0e;学会利用gcc、gdb编译、调试C程序。【预习内容】1&#xff0e;预习Ubuntu下各种应用程…

Pandas入门1(DataFrame+Series读写/Index+Select+Assign)

文章目录1. Creating, Reading and Writing1.1 DataFrame 数据框架1.2 Series 序列1.3 Reading 读取数据2. Indexing, Selecting, Assigning2.1 类python方式的访问2.2 Pandas特有的访问方式2.2.1 iloc 基于index访问2.2.2 loc 基于label标签访问2.3 set_index() 设置索引列2.4…

关于Visual C#.NET数据库开发经典案例解析(附光盘两张)(珍藏版)—的读后感...

关于Visual C#.NET数据库开发经典案例解析&#xff08;附光盘两张&#xff09;&#xff08;珍藏版&#xff09;— 评论读后感&#xff1a;里面的内容很经典&#xff0c;很实用读后感&#xff1a;给初学者是好&#xff0c;但是是比较旧的了&#xff01;VS2003 C/S的读后感&#…

linux git还原文件,Gitlab备份到windows、在Linux恢复

一 备份gitlab为完整压缩包# 在目录/var/opt/gitlab/backups/ 创建备份文件gitlab-rake gitlab:backup:create/var/opt/gitlab/backups/1559614181_2019_06_04_10.7.7_gitlab_backup.tar查看备份文件夹容量df -h /var/opt/gitlab/backups二 恢复gitlab复制gitlab_backup.tar到对…

LeetCode 372. 超级次方(快速幂)

1. 题目 你的任务是计算 ab 对 1337 取模&#xff0c;a 是一个正整数&#xff0c;b 是一个非常大的正整数且会以数组形式给出。 示例 1: 输入: a 2, b [3] 输出: 8示例 2: 输入: a 2, b [1,0] 输出: 1024来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&…

c#让电脑锁定、注销、关机

代码 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingMicrosoft.Win32;usingSystem.Runtime.InteropServices;usingSystem.IO;usingSystem…

linux错误自动报告工具,linux – 关闭abrt的电子邮件通知(自动错误报告工具)

我正在配置CentOS 6.2并且已经看到了一些“[abrt]完整崩溃报告”电子邮件.我知道abrt对于创建崩溃转储非常有用,所以我不想禁用该服务,我只是想停止获取崩溃报告电子邮件.我可能不得不在/etc/abrt/abrt.conf中添加一些配置文件.我似乎无法在搜索中找到任何内容.任何的想法&…

Pandas入门2(DataFunctions+Maps+groupby+sort_values)

文章目录3. Summary Functions and Maps3.1 Summary Functions 数据总结函数3.1.1 describe()3.1.2 mean()&#xff0c;median()&#xff0c;idxmax()&#xff0c;unique()&#xff0c;value_counts()3.2 Maps 映射3.2.1 map()3.2.2 apply()3.2.3 内置转换方法4. Grouping and …

Adobe和苹果相互推诿 不支持Flash谁之过?

针对苹果CEO史蒂夫乔布斯 (Steve Jobs)的指责&#xff0c;Adobe CTO凯文林奇(Kevin Lynch)日前给予回应&#xff0c;称苹果iPad不支持Flash完全是苹果的错。上周三&#xff0c;苹果发布了业内期待已久的平板电脑iPad&#xff0c;但由于不支持 Flash而遭到了用户抱怨。对此&…

linux视频在windows播放器,适用于Windows和Linux的免费多媒体播放器SMPlayer 18.6.0发布 - 爱绿豆...

SMPlayer是一个很好的 MPlayer 电影播放程序前端&#xff0c;可以支持大部分的视频和音频文件。它支持音频轨道切换&#xff0c;允许调节亮度、对比度、色调、饱和度、伽玛值&#xff0c;按照倍速、4倍速等多种速度回放&#xff0c;还可以进行音频和字幕延迟调整以同步音频和字…

LeetCode 393. UTF-8 编码验证(位运算)

1. 题目 UTF-8 中的一个字符可能的长度为 1 到 4 字节&#xff0c;遵循以下的规则&#xff1a; 对于 1 字节的字符&#xff0c;字节的第一位设为0&#xff0c;后面7位为这个符号的unicode码。对于 n 字节的字符 (n > 1)&#xff0c;第一个字节的前 n 位都设为1&#xff0c…

OA 办公系统 模块设计

--连接主数据库 use Master go --如果数据库simpleoa 存在&#xff0c;则先删除simpleoa。 if exists (select * from sysdatabases where namesimpleoa) drop database simpleoa go--创建simpleoa数据库 create database simpleoa go-- use simpleoa go--创建用户表 create…

通过java理解linux,Java继承的理解

继承&#xff1a;1)概念把多个类中相同的成员给提取出来定义到一个独立的类中。然后让这多个类和该独立的类产生一个关系&#xff0c;这多个类就具备了这些内容。这个关系叫继承。1.1)定义类时&#xff0c;通过“继承”一个现有的类&#xff0c;子类可以具有父类中的所有属性和…