社区
JavaScript
帖子详情
js怎么实现页面数据排序 要求table里的第一列不参加排序?
sj13467204146
2019-05-22 09:55:02
js怎么实现页面数据排序 要求table里的第一列不参加排序?
...全文
449
13
打赏
收藏
js怎么实现页面数据排序 要求table里的第一列不参加排序?
js怎么实现页面数据排序 要求table里的第一列不参加排序?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
麦草CMS
2019-05-22
打赏
举报
回复
<tabel id="t">
<tr><td>1</td>测试1<td></td><td>测试2</td></tr>
<tr><td>2</td>测试3<td></td><td>测试4</td></tr>
</table>
var table = document.getElementById("t");
var rows = table.children;
var td1 = rows[0].children[0];
麦草CMS
2019-05-22
打赏
举报
回复
就如上面所说,你可以后台返回json,而不是html,排序后动态组合表;这个dom操作少点。
或者,你取出要排列的那一列单元格的数据排序,排好了相应的替换就行了。取特定单元格,用古老的children代替childNodes,
table.tr.children[0],table.tr.children[1]
sj13467204146
2019-05-22
打赏
举报
回复
我一直在用getElementById() 试着将排序前的第一列取出来, 一直报错。
sj13467204146
2019-05-22
打赏
举报
回复
这是我排序的源码, 请问怎么改能让第一列不动???
sj13467204146
2019-05-22
打赏
举报
回复
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) { vValue1 = convert(oTR1.cells[iCol].firstChild.nodeValue, sDataType); 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]; alert(document.getElementByTagName("th").innerHTML); } if (oTable.sortCol == iCol) { aTRs.reverse(); } else { aTRs.sort(generateCompareTRs(iCol, sDataType)); } var oFragment = document.createDocumentFragment(); for ( var j = 0; j < aTRs.length; j++) { oFragment.appendChild(aTRs[j]); } oTBody.appendChild(oFragment); oTable.sortCol = iCol; }
麦草CMS
2019-05-22
打赏
举报
回复
firstRow = table.querySelector('th');
otherRows = table.querySelectorAll("td");//这是个节点集,你var array = Object.values(otherRows);,你遍历array就是了
sj13467204146
2019-05-22
打赏
举报
回复
关键是排序的时候,数据是一行一行取得,纯js没有后台数据,怎么从一行数据中把第一列取出来???
qq_42966289
2019-05-22
打赏
举报
回复
引用 楼主 sj13467204146 的回复:
js怎么实现页面数据排序 要求table里的第一列不参加排序?
定义一个新数组 把排序的结果放进去
把老数组的第一列 合并新数组的其余列 不就可以了吗?
麦草CMS
2019-05-22
打赏
举报
回复
第一列用th,其他的用td
sj13467204146
2019-05-22
打赏
举报
回复
用html做一张table , 我自己用js实现了排序功能, 要求,在排序的时候,第一列不动, 其他照样排序。
麦草CMS
2019-05-22
打赏
举报
回复
猜测你遇到的问题比帮您解决问题更难。很多都这样,模糊的描述问题。
sj13467204146
2019-05-22
打赏
举报
回复
你很棒, 多谢你的思路。 aTRs[j].insertBefore(aTDs[j], aTRs[j].cells[1]); 插入的是第二个数据。改成0就成功了, 多谢大家,结贴!~
天际的海浪
2019-05-22
打赏
举报
回复
function sortTable(sTableID, iCol, sDataType) { var oTable = document.getElementById(sTableID); var oTBody = oTable.tBodies[0]; var colDataRows = oTBody.rows; var aTRs = new Array;
var aTDs = [];
for ( var i = 0; i < colDataRows.length; i++) { aTRs[i] = colDataRows[i];
aTDs[i] = aTRs[i].cells[0];
alert(document.getElementByTagName("th").innerHTML); } if (oTable.sortCol == iCol) { aTRs.reverse(); } else { aTRs.sort(generateCompareTRs(iCol, sDataType)); } var oFragment = document.createDocumentFragment(); for ( var j = 0; j < aTRs.length; j++) { oFragment.appendChild(aTRs[j]);
aTRs[j].insertBefore(aTDs[j], aTRs[j].cells[1]);
} oTBody.appendChild(oFragment); oTable.sortCol = iCol; }
croc-v10.2.4-Linux-64bit.tar.gz
croc_v10.2.4_Linux-64bit.tar.gz
Java源码-springboot前后分离框架04网页时装购物系统+MySQL毕设大作业源码.zip
本项目是基于Spring Boot前后分离框架开发的网页时装购物系统,该系统结合了MySQL
数据
库进行
数据
存储和处理。该项目旨在
实现
一个完整的电子商务购物流程,包括商品展示、用户注册登录、购物车管理、订单生成等功能。其中,前后端分离的设计模式使得系统更加灵活,提高了系统的可扩展性和可维护性。 项目主要采用了Spring Boot框架进行开发,利用Spring Boot的快速开发和部署特性,大大缩短了开发周期。同时,系统采用了MySQL
数据
库进行
数据
存储,保证了
数据
的安全性和稳定性。在前端方面,项目采用了流行的前端技术,如HTML、CSS、JavaScript等,为用户提供了良好的购物体验。 此外,该项目是一个毕设大作业源码,旨在帮助学生完成毕业设计的同时,提供实际项目开发经验。源码中包含了项目的完整开发过程和关键代码
实现
,对于学习Spring Boot框架和电子商务系统开发的同学具有很好的参考价值。毕设项目源码常年开发定制更新,希望对需要的同学有帮助。
peft-0.10.0.tar.gz
该资源为peft-0.10.0.tar.gz,欢迎下载使用哦!
C2000 ePWM使用示例
C2000 ePWM使用示例
marketplaceagreement-jvm-1.3.8.jar
marketplaceagreement-jvm-1.3.8.jar
JavaScript
87,992
社区成员
224,698
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章