java 表格升序排列_用JS实现表格的排序

网上有很多很多用js对表格进行排序的例子,比如说http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndude/html/dude07232001.asp

这个是微软的3个表格操作的例子,都做成了htc组件了

但是有个问题就是在mozilla等非IE浏览器下面都不能实现效果

于是去网上找了个例子,是可以进行在大部分浏览器下的排序的,可惜没有微软自己做的那么好,比如 显示目前是以何例何方式在排序的信息,对于此我特意改写了一下js代码,特意给出代码

注意是html和js混合的,没有分开,需要的可以自己分开来

经过我测试,效果良好:-)并且代码简洁易懂

以下是我改版国外的js后的代码

BrainJar.com: Table Sort

Let's try it out. Here's another table with the same planet data. But this

one uses the modified version of sortTable().

NameDiameter (mi.)Distance
(mi. x 1000000)
Rotation (hrs.)Period (days)

Mercury303236.01407.688Venus752167.25832.5225Earth792693.023.9365Mars4222141.624.6687Jupiter88846483.89.94331Saturn74897890.810.710747Uranus317631784.817.230589Neptune307752793.116.159800Pluto14853647.2153.390588

You can now change the sort direction of each column independently.

The sort function can be modified in other ways to better accommodate both

the table data and its presentation. We'll look at some ideas next.

|

Next

主要增加了图片显示状态的功能,即增加函数setImg

另外还提供一个非常简单的js排序函数,但是好像只可以在IE下使用,代码如下

/*表格排序是对表格而言的,与表格的生成无关。就是说,无论用何种方式产生的表格排序时都一样。这是排序函数,很简单。

分升序和降序,要求传入参数:obj 表格名或id; n 排序列,第一列为0*/

function table_sort_asc(obj,n) {

var i,j;

var tab = eval("document.all."+obj);

if(tab.tagName != "TABLE") return;

for(i=0;i

for(j=i+1;j

if(tab.rows[i].cells[n].innerHTML > tab.rows[j].cells[n].innerHTML)

tab.rows[i].swapNode(tab.rows[j]);

}

function table_sort_desc(obj,n) {

var i,j;

var tab = eval("document.all."+obj);

if(tab.tagName != "TABLE") return;

for(i=0;i

for(j=i+1;j

if(tab.rows[i].cells[n].innerHTML < tab.rows[j].cells[n].innerHTML)

tab.rows[i].swapNode(tab.rows[j]);

}

除了用js来进行排序外,还可以用xml+xslt进行排序,但是还是有浏览器不兼容的问题,比较麻烦,我搜集了一些网上常用的表格排序的例子,现在放在网站上,提供下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值