利用js对表格进行排序,本人觉得很有用,把书上的代码打出来给大家看看。
<html>
<head>
<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 generateCompateTRs(iCol,sDataType)
{
return function compareTRs(oTR1,oTR2)
{
if(oTR1.cells[iCol].getAttribute("value"))
{
var value1 = convert(oTR1.cells[iCol].getAttribute("value"),sDataType);
var value2 = convert(oTR2.cells[iCol].getAttribute("value"),sDataType);
}
else
{
var value1 = convert(oTR1.cells[iCol].firstChild.nodeValue,sDataType);
var value2 = convert(oTR2.cells[iCol].firstChild.nodeValue,sDataType);
}
if(value1 < value2)
{
return -1;
}
else if(value1 > value2)
{
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];
}
aTRs.sort(generateCompateTRs(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>
<form>
<center>
<table border = "1", id="tblSort">
<thead>
<tr>
<th onclick="sortTable('tblSort',0)"
style = "cursor:pointer">LastName</th>
<th onclick="sortTable('tblSort',1)"
style = "cursor:pointer">FirstName</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/1987</td>
<td>2</td>
</tr>
<tr>
<td>Johson</td>
<td>Betty</td>
<td>10/15/1989</td>
<td>2</td>
</tr>
<tr>
<td>Yang</td>
<td>Han</td>
<td>5/6/1977</td>
<td>1</td>
</tr>
<tr>
<td>Hen</td>
<td>Huan</td>
<td>1/5/1988</td>
<td>6</td>
</tr>
<tr>
<td>Qiu</td>
<td>He</td>
<td>8/8/1999</td>
<td>100</td>
</tr>
</center>
</form>
</body>
</html>
分享到:
相关推荐
利用JS对表格中的内容进行排序,可以指定对表格的某一列进行排序,升序或降序,实例与代码。
利用纯js对表格进行排序,动态扩展性能好.并且可按照字符串,日期,图片,数字排序.
博文链接:https://guoyankun.iteye.com/blog/194780
四、表格排序 对于表格,我们可以扩展以上方法,监听单元格的拖放事件。在`drop`事件中,不仅要更新单元格的顺序,还要调整相关行的顺序。这可能涉及到对表格数据的重新排序,尤其是当数据与后端同步时。 五、优化...
在JavaScript(JS)中,实现表格排序功能是前端开发中常见的需求,特别是在处理大量数据时。这个功能使得用户可以通过点击表头对数据进行升序或降序排列,提高数据查看和分析的效率。下面我们将详细探讨如何实现这样...
表格排序是按照某一列或多列的值对表格进行升序或降序排列。可以使用`.sort()`方法结合自定义比较函数实现。例如,按第一列数字值进行升序排序: ```javascript function sortTable(columnIndex, isAscending) { ...
JavaScript表格排序大全是一个涵盖多种JS表格排序实现方法的资源集合,旨在帮助开发者快速实现动态、交互式的表格数据排序功能。在网页开发中,表格是一种常用的数据展示方式,而JavaScript能够为表格提供强大的交互...
通过分析这些文件,我们可以深入学习到如何在实际项目中实现表格数据排序,以及如何利用JavaScript和CSS提升用户体验。 总的来说,"表格数据排序.rar"这个主题涵盖了许多关键的前端开发技能,包括JavaScript编程、...
本资源“jQuery Table表格排序显示代码.zip”聚焦于利用jQuery实现动态表格排序的功能,这对于数据展示和用户交互至关重要。下面将详细阐述相关知识点。 1. **jQuery基础**:首先,理解jQuery的基础是至关重要的。...
### jQuery 实现表格排序 #### 知识点一:jQuery表格排序插件介绍 在Web开发中,数据展示经常需要通过表格的形式呈现给用户,并且为了方便用户查找所需信息,通常会提供排序功能。传统的表格排序往往需要后端的...
下面我们将深入探讨`sort()`方法以及如何利用它来实现表格排序。 首先,`sort()`方法按照字符串的Unicode编码顺序对数组元素进行排序。这意味着,如果你试图对数字或日期进行排序,不正确的结果会出现,因为它们会...
而“table表格排序效果”则是提高用户体验的重要功能,允许用户根据某一列的数据对整个表格进行升序或降序排列。这个“table表格排序效果源码下载”提供了一个实现这一功能的代码示例。 排序功能对于处理大量数据至...
在提供的文件列表中,我们看到一个名为"sorttable.js"的文件,这很可能是一个专门用于表格排序的JavaScript库,而"一实用的Javascript类库 - 蓝色理想.htm"可能是这个库的示例或文档页面。 `sorttable.js`库可能...
本文将深入探讨“JS:表格排序”这一主题,结合标签“源码”和“工具”,我们将重点解析如何利用JavaScript实现表格数据的排序功能,并通过sorttable官方示例进行实践。 首先,表格排序的基本原理是遍历表格中的数据...
在JavaScript(JS)编程中,实现表格数据的排序是一个常见的需求,特别是在网页开发中。"根据表头进行排序"的功能允许用户通过点击表格的列标题(表头)来对表格内容进行升序或降序排序。这个功能对于展示大量结构化...
`jquery.tablesorter.js`则是一个强大的表格排序插件,支持多种排序方式,包括升序、降序以及自定义排序。用户可以通过点击表头来对表格数据进行排序。这个插件内部实现了复杂的排序算法,可以处理各种类型的数据,...
然后,`sort.js` 是JavaScript文件,它包含实现表格排序的逻辑。JavaScript允许我们在用户点击表头时触发排序操作。这个文件可能包含一个名为`sortTable`的函数,该函数接收一个参数表示要排序的列索引,并根据用户...
总结来说,实现JavaScript表格排序主要涉及以下几个步骤: 1. 给表格添加ID和事件处理器。 2. 编写`sortTable`函数,处理数据类型转换和排序逻辑。 3. 使用文档碎片优化DOM操作。 4. 针对非文本类型的数据,如图片,...