- 浏览: 1236760 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (242)
- java (58)
- netty (14)
- javascript (21)
- commons (13)
- 读书笔记 (5)
- java测试 (6)
- database (5)
- struts2 (8)
- hibernate (6)
- english (27)
- spring (10)
- 生活 (4)
- 多线程 (4)
- 正则表达式 (1)
- 杂项 (1)
- maven (4)
- 数据库 (10)
- 学习笔记 (1)
- mongodb (1)
- 百度bcs (4)
- 云推送javasdk (2)
- webservice (3)
- IllegalAnnotationException: Two classes have the same XML type name (0)
- drools (3)
- freemarker (3)
- tomcat (1)
- html5 (2)
- mq (11)
- fastjson (3)
- 小算法 (2)
最新评论
-
longxitian:
https://www.cnblogs.com/jeffen/ ...
万恶的Mybatis的EnumTypeHandler -
asialee:
ddnzero 写道博主请问FileUtils这个类是哪个包的 ...
使用mockftpserver进行ftp测试 -
ddnzero:
博主请问FileUtils这个类是哪个包的?还是自己的呢?能放 ...
使用mockftpserver进行ftp测试 -
yizishou:
为什么会intMap.get("bbb") ...
浅谈System.identityHashCode -
liguanqun811:
感觉LogManager打开了所有的LogSegment(文件 ...
jafka学习之LogManager
自己写的一个HTML表格排序的程序,由于是自己写的,所以比较土,况且没有使用任何JavaScript库,所以只实现了一些简单的功能。主要是了解一下原理。
function ieOrFireFox(ob) { if (ob.textContent != null) return ob.textContent; var s = ob.innerText; return s.substring(0, s.length); } function sortTableByColumn(sortTableId,iCol,dataType){ var sortTable = document.getElementById(sortTableId); var tbody = sortTable.tBodies[0]; var colRows = tbody.rows; var aTrs = new Array; var sortedHeader = sortTable.tHead.rows[0].cells[iCol]; for (var i = 0; i < colRows.length; i++) { aTrs[i] = colRows[i]; } if (sortTable.sortCol == iCol) { if (sortTable.sortOrder == "desc") { aTrs.sort(compareEle(iCol, dataType,'asc')); sortTable.sortOrder = "asc"; } else { aTrs.sort(compareEle(iCol, dataType,'desc')); sortTable.sortOrder = "desc"; } } else { aTrs.sort(compareEle(iCol, dataType,'asc')); sortTable.sortOrder = "asc"; } sortTable.sortCol = iCol; var oFragment = document.createDocumentFragment(); for ( var i = 0; i < aTrs.length; i++) { oFragment.appendChild(aTrs[i]); } tbody.appendChild(oFragment); } function sortTable(tableId,thobj,dataType) { var iCol = document.getElementById(thobj).cellIndex; sortTableByColumn(tableId,iCol,dataType); } function convert(sValue, dataType,sortDerection) { switch (dataType) { case "int": if(sValue.length <= 0){ if(sortDerection == "asc") { sValue = "1000"; } else { sValue = "-1"; } } return parseInt(sValue, 10); case "float": return parseFloat(sValue); case "date": return new Date(Date.parse(sValue)); default: return sValue.toString().toLowerCase(); } } function compareEle(iCol, dataType,sortDerection) { return function(oTR1, oTR2) { var vValue1 = convert(ieOrFireFox(oTR1.cells[iCol]), dataType,sortDerection); var vValue2 = convert(ieOrFireFox(oTR2.cells[iCol]), dataType,sortDerection); var returnResult = 0; if (vValue1 < vValue2) { returnResult = -1; } else if (vValue1 > vValue2) { returnResult = 1; } else { returnResult = 0; } if(sortDerection == "desc"){ return -returnResult; } else { return returnResult; } }; }
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Table Sort Example</title> <script type="text/javascript" src="sortTable.js" > </script> </head> <body> <p>Click on the table header to sort in ascending order.</p> <table border="1" id="tblSort"> <thead> <tr> <th onclick="sortTableByColumn('tblSort',0)" style="cursor:pointer">Last Name</th> <th onclick="sortTableByColumn('tblSort',1,'date')" style="cursor:pointer">Date</th> <th onclick="sortTableByColumn('tblSort',2,'float')" style="cursor:pointer">Salary</th> <th onclick="sortTableByColumn('tblSort',3,'int')" style="cursor:pointer">Age</th> <th onclick="sortTableByColumn('tblSort',3,'int')" style="cursor:pointer">ChineseName</th> </tr> </thead> <tbody> <tr> <td>Smith</td> <td>2008/9/20</td> <td>100.03</td> <td>20</td> <td>我</td> </tr> <tr> <td>Johnson</td> <td>2008/10/4</td> <td>200.8</td> <td>18</td> <td>爱</td> </tr> <tr> <td>Henderson</td> <td>2008/10/11</td> <td>50.3</td> <td>45</td> <td>北</td> </tr> <tr> <td>Williams</td> <td>2008/10/08</td> <td>50</td> <td>20</td> <td>京</td> </tr> <tr> <td>Gilliam</td> <td>2008/10/3</td> <td>400.2</td> <td>9</td> <td>故</td> </tr> <tr> <td>Walker</td> <td>2008/11/4</td> <td>20.6</td> <td>20</td> <td>宫</td> </tr> </tbody> </table> </body> </html>
评论
12 楼
zengwenbin05
2010-03-15
真厉害呀,,,
感觉很有用
感觉很有用
11 楼
dingyaodanv1
2010-03-09
10 楼
hai_yang
2010-03-08
值得学习~~
9 楼
刃之舞
2010-03-08
asialee 写道
刃之舞 写道
楼主
Nicholas C.Zakas Professional java script for web Developers
Nicholas C.Zakas的js教材书可是很出名的额,看的人不比犀牛书少
什么意思?
<html> <head> <title>Table Sort Example</title> <script type="text/javascript"> function convert(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(); } } function generateCompareTRs(iCol, sDataType) { return function compareTRs(oTR1, oTR2) { var vValue1 = convert(oTR1.cells[iCol].firstChild.nodeValue, sDataType); var vValue2 = convert(oTR2.cells[iCol].firstChild.nodeValue, sDataType); if (vValue1 < vValue2) { return -1; } else if (vValue1 > vValue2) { return 1; } else { return 0; } }; } function sortTable(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(generateCompareTRs(iCol, sDataType)); } var oFragment = document.createDocumentFragment(); for (var i=0; i < aTRs.length; i++) { oFragment.appendChild(aTRs[i]); } oTBody.appendChild(oFragment); oTable.sortCol = iCol; } </script> </head> <body> <p>Click on the table header to sort in ascending order.</p> <table border="1" id="tblSort"> <thead> <tr> <th onclick="sortTable('tblSort', 0)" style="cursor:pointer">Last Name</th> <th onclick="sortTable('tblSort', 1)" style="cursor:pointer">First Name</th> <th onclick="sortTable('tblSort', 2, 'date')" style="cursor:pointer">Birthday</th> <th onclick="sortTable('tblSort', 3, 'int')" style="cursor:pointer">Siblings</th> </tr> </thead> <tbody> <tr> <td>Smith</td> <td>John</td> <td>7/12/1978</td> <td>2</td> </tr> <tr> <td>Johnson</td> <td>Betty</td> <td>10/15/1977</td> <td>4</td> </tr> <tr> <td>Henderson</td> <td>Nathan</td> <td>2/25/1949</td> <td>1</td> </tr> <tr> <td>Williams</td> <td>James</td> <td>7/8/1980</td> <td>4</td> </tr> <tr> <td>Gilliam</td> <td>Michael</td> <td>7/22/1949</td> <td>1</td> </tr> <tr> <td>Walker</td> <td>Matthew</td> <td>1/14/2000</td> <td>3</td> </tr> </tbody> </table> </body> </html>
书上的例子代码,大体上没觉出跟你的有什么不同
8 楼
asialee
2010-03-06
ving0099 写道
lz怎么没有注释的
我编写JS没有养成好习惯,一般会忘记加上注释,以后会注意的。
7 楼
ving0099
2010-03-05
lz怎么没有注释的
6 楼
asialee
2010-03-05
刃之舞 写道
楼主
Nicholas C.Zakas Professional java script for web Developers
Nicholas C.Zakas的js教材书可是很出名的额,看的人不比犀牛书少
什么意思?
5 楼
刃之舞
2010-03-05
楼主
Nicholas C.Zakas Professional java script for web Developers
Nicholas C.Zakas的js教材书可是很出名的额,看的人不比犀牛书少
4 楼
cloudgamer
2010-03-05
jindw 写道
asialee 写道
最简单的表格排序是这样的:
http://www.iteye.com/topic/567161
# sort:function(list, inc){ # $("sort").className = inc?"down":"up"; # list.sort(function(a, b){ # return (inc?1:-1)*a.name.localeCompare(b.name); # }); # render(data); # },
localeCompare只能判断字符
3 楼
jindw
2010-03-05
asialee 写道
最简单的表格排序是这样的:
http://www.iteye.com/topic/567161
# sort:function(list, inc){ # $("sort").className = inc?"down":"up"; # list.sort(function(a, b){ # return (inc?1:-1)*a.name.localeCompare(b.name); # }); # render(data); # },
1 楼
cloudgamer
2010-03-05
不错,我也写过一个table排序
多多交流
多多交流
发表评论
-
velocity 2014参会感言
2014-08-27 13:55 1625有幸与8.12号参加了velocity ... -
ueditor文件上传研究
2014-08-04 19:31 65143之前写过一版本的ueditor的使用方式,感觉 ... -
js实现漂亮的倒计时功能
2014-05-15 16:16 7925打算写几篇博客总结下近来做的一个东西:www. ... -
fis相关标签介绍
2014-01-14 19:43 2439fis简介 fis在github上的开源地址为: htt ... -
jquery validate使用说明
2014-01-08 11:37 29258//validate 选项************* ... -
ZeroClipboard使用问题记录
2013-02-01 16:38 13493项目中用 ... -
ie9DOM Exception: INVALID_CHARACTER_ERR (5) 的解决
2013-01-07 15:32 4330今天在和同事调试一个问题的时候,ie9在crea ... -
jquery的clone方法bug的修复
2012-12-25 00:32 13624本人原创,发 ... -
百度uedtor集成总结
2012-12-18 00:16 7601本人原创,转帖必究! 发现一些网站无道德的抓取, ... -
jquery强制覆盖属性的方式
2012-11-08 16:10 3568a. 页面上有一个h4标签; b. 此h4标签已经被外链c ... -
java和javascript的正则表达式有点不同
2012-11-06 18:54 1448今天在项目中遇 ... -
jsonP的原理与在项目中的使用
2012-07-09 16:19 1304要解决的问题: 由于同源策略,一般来说位于 server1. ... -
永远不要自己拼装json
2012-05-24 11:26 8481今天项目出现一个非常怪的现象,使用spring拦截的异常有时 ... -
jquery.plugin.form修复ie下面的bug
2012-05-07 19:33 1105现象是MIME_TYPE不正确。 解决方案是手动的设置con ... -
textarea显示成label的样式
2012-02-27 16:31 1872jQuery("#description ... -
实现Checkbox的互斥选中
2012-02-23 19:52 15489需求其实很简单,就是实现多checkbox的互斥选 ... -
百度倒计时的实现
2011-01-31 10:20 1380<!DOCTYPE html PUBLIC &qu ... -
JS自定义属性的设置与获取
2009-11-25 00:20 19932以前感觉用JQuery来设置自定义属性很方便,现在没 ... -
jQuery淡入淡出
2009-04-14 12:46 2404虽然很简单,但我在这里记录一下,以后忘记的话,可以来这里查看: ... -
jquery ajax 请求的问题
2008-10-24 13:22 3776今天程序中有个地方需要 Ajax 方式 POST 数据,发现在 ...
相关推荐
JavaScript 表格排序双击可进行按表格列排序
而JavaScript实现的表格排序功能则能够帮助用户更方便地管理和理解这些数据。这篇我们将深入探讨如何使用JavaScript实现表格排序,包括对数字、日期和汉字的排序。 首先,我们需要理解HTML表格的基本结构,通常由`...
JavaScript表格排序大全是一个涵盖多种JS表格排序实现方法的资源集合,旨在帮助开发者快速实现动态、交互式的表格数据排序功能。在网页开发中,表格是一种常用的数据展示方式,而JavaScript能够为表格提供强大的交互...
总结起来,这个JavaScript表格排序示例展示了如何通过监听表头点击事件,使用纯JavaScript实现表格数据的动态排序。它依赖于HTML表格结构,通过JavaScript操作DOM节点进行数据比较和位置交换。在实际项目中,可以...
<title>JavaScript表格排序 table { width: 100%; border-collapse: collapse; } th, td { text-align: left; padding: 8px; border: 1px solid #ddd; } th { cursor: pointer; } (0)">...
四、表格排序 对于表格,我们可以扩展以上方法,监听单元格的拖放事件。在`drop`事件中,不仅要更新单元格的顺序,还要调整相关行的顺序。这可能涉及到对表格数据的重新排序,尤其是当数据与后端同步时。 五、优化...
JavaScript表格排序是一个在网页开发中常见的需求,尤其是在处理大量数据时。这个功能强大的JavaScript库,被称为"sorttable",能够帮助开发者轻松实现表格数据的排序,同时提供了自定义排序规则的能力,大大增强了...
javascript动态排序表格 javascript动态排序表格 javascript动态排序表格 javascript动态排序表格
下面我们将深入探讨如何使用JavaScript实现表格排序功能。 一、HTML表格基础 在HTML中,`<table>`元素用于创建表格,`<tr>`表示表格行,`<th>`表示表头单元格,`<td>`表示数据单元格。例如: ```html 姓名 ...
通过以上步骤,你将能够构建一个功能完善的JavaScript表格排序功能,同时利用面向对象编程的思想提高了代码的可维护性和复用性。在学习这个案例资料时,务必仔细研究每个部分,理解其背后的逻辑,并尝试自己动手实践...
总结来说,实现JavaScript表格排序并高亮显示的关键在于理解DOM操作、数组排序以及CSS样式的应用。通过编写比较函数、遍历和排序表格行,以及更新单元格样式,我们可以创建出具有动态排序和高亮功能的表格。这个过程...
在JavaScript编程中,实现带箭头的表格排序是一种常见的需求,尤其在数据展示和交互式网页设计中。本文将深入探讨如何使用JavaScript实现这一功能,包括理解基础的HTML表格结构、CSS样式设置以及JavaScript事件处理...
总结来说,处理JavaScript表格中中文混合数字的排序需要自定义排序函数,该函数能区分并适当地处理不同数据类型。通过这样的方法,我们可以确保数据在展示时始终按预期的方式排序,提供良好的用户体验。这个压缩包...
**jQuery 简单表格排序** 在Web开发中,数据展示是常见的需求,尤其是在处理大量结构化信息时,表格(Table)是首选的布局方式。然而,为了提高用户体验,我们通常需要实现表格数据的动态排序功能。jQuery是一个轻...
总的来说,使用JavaScript实现的页面表格排序功能,不仅可以提高用户体验,还可以减少服务器负载,因为它是在客户端完成的,无需每次排序都向服务器发送请求。这个例子是JavaScript在网页交互设计中的一个典型应用,...
初始化表格排序功能非常简单,只需通过`tableSorter()`方法指定需要排序的表格ID即可。例如: ```javascript $(document).ready(function(){ $("#large").tableSorter(); }); ``` 如果希望在表格加载时就显示斑马...
网页模板——javascript 表格排序多种数据类型排序(中文混合数字排序)
总的来说,JavaScript中的`sort()`方法和`localeCompare()`函数是实现表格排序的关键工具,但需要配合自定义的比较函数和数据转换策略,以适应不同类型的表格数据。理解这些概念并正确应用它们,可以帮助我们构建出...