jsp+js实现可排序表格

  function sort(tableId, sortColumn,nodeType) {
var table = document.getElementById("theTable");
var tableBody = table.tBodies[0];
var tableRows = tableBody.rows;

  var rowArray = new Array();
for (var i = 0; i < tableRows.length; i++) {
rowArray[i] = tableRows[i];
}
if (table.sortColumn == sortColumn) {
rowArray.reverse();
} else {
rowArray.sort(generateCompareTR(sortColumn, nodeType));
}
var tbodyFragment = document.createDocumentFragment();
for (var i = 0; i < rowArray.length; i++) {
tbodyFragment.appendChild(rowArray[i]);
}
tableBody.appendChild(tbodyFragment);
table.sortColumn = sortColumn;
}

  function generateCompareTR(sortColumn, nodeType) {
return function compareTR(trLeft, trRight) {
var leftValue = convert(trLeft.cells[sortColumn].firstChild.nodeValue, nodeType);
var rightValue = convert(trRight.cells[sortColumn].firstChild.nodeValue, nodeType);
if (leftValue < rightValue) {
return -1;
} else {
if (leftValue > rightValue) {
return 1;
} else {
return 0;
}
}
};
}

  function convert(value, dataType) {
switch (dataType) {
case "int":
return parseInt(value);
case "float":
return parseFloat(value);
case "date":
return new Date(Date.parse(value));
default:
return value.toString();
}
}

然后是使用:
  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base <%=basePath%>">

  <title>My JSP ‘tabel.jsp‘ starting page</title>

  <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" >
-->
<script type="text/javascript" src="userjs/tableSort.js"></script>
</head>

  <body>
<table id="theTable" align="center" border="1">
<thead>
<tr>
<td>
标题1
</td>
<td onclick="sort(theTable,1,‘int‘)">
标题2
</td>
<td onclick="sort(theTable,2,‘int‘)">
标题3
</td>
<td onclick="sort(theTable,3,‘int‘)">
标题4
</td>
<td onclick="sort(theTable,4,‘int‘)">
标题5
</td>
<td onclick="sort(theTable,5,‘int‘)">
标题6
</td>
<td onclick="sort(theTable,6,‘int‘)">
标题7
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
</tr>
<tr>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
1
</td>
</tr>
<tr>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
1
</td>
<td>
2
</td>
</tr>
<tr>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
</tr>
<tr>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
</tr>
<tr>
<td>
6
</td>
<td>
7
</td>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
</tr>
</tbody>
</table>
</body>
</ht

时间: 2024-08-01 20:26:06

jsp+js实现可排序表格的相关文章

JS组件之排序表格

问题1:同一个Element,在两次被进行 appenChild() 操作时,会只有一个实体,以第一次操作无效,最后一次有效. 所以要对 Element.clone(true) 进行 appenChild() 操作. 问题2:CSS 动态渲染 所以要了解一下事件,在JS加载完成后再加载CSS. 问题3:绑定函数. 原文地址:https://www.cnblogs.com/ppJuan/p/6545695.html

Django中使用JS通过DataTable实现表格前端分页,每页显示页数,搜索等功能

版本: django:2.1.7 python:3.7 Django架构中自带了后端分页的技术,通过Paginator进行分页,前端点击按钮提交后台进行页面切换. 优缺点:后端分页对于数据量大的场景有其优势,但页面切换比较慢. 后端分页python3代码如下: paginator = Paginator(stat_list, numtmp) try: flight_stats = paginator.page(1) except PageNotAnInteger: flight_stats =

[工具篇]eclipse 中设置 Java/JSP/JS/HTML/CSS 智能提示

Visual Studio 2010 中的智能提示很好用,在eclipse中是否也可以通过设置使得java代码文件.jsp文件.html文件.css文件.js文件时也能有这样方便的智能提示呢?应该是有的: 1.设置java代码智能提示 1)打开eclipse→Windows→Preferences→Java→Editor→Content Assist 2)修改Auto Activation triggers for java的值为:zjava   点击apply按钮.(zjava主要是用在后面替

js动态控制表单表格

js动态控制表单表格,这里操作只讲,添加一行,删除一行,删除某一行某一列. 直接放代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <table id="tabl" border=1 cellpadding=10 cellspacing=0&

JS中对象排序

详细代码如下: var s=[{name:"abc",value:10},{name:"dbc",value:5},{name:"acc",value:15},{name:"ebc",value:50},{name:"bbc",value:80},{name:"aca",value:60}] //JS Object字符串排序 s.sort(function(a,b){ return a[

Jsp +Js + Jquery + EasyUI + Servlet + Lucene,完成分页

package loaderman.fy.action; import java.io.IOException; import java.io.PrintWriter; import java.util.LinkedHashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpSer

电力项目十七--数据字典首页JS添加和删除表格

知识点:jQuery是一个JavaScript函数库. JS代码: function insertRows(){ //获取表格对象 var tb1 = $("#dictTbl"); var tempRow = $("#dictTbl tr").size();//获取表格的行数 var $tdNum = $("<td align='center'></td>"); $tdNum.html(tempRow); var $tdN

jsp js java

Java技术 J a v a是一种 简单易用. 完全面向对象. 具有平台无关性且 安全可靠的主要面向I n t e r n e t的开发工具. 自从1 9 9 5年正式问世以来,J a v a的快速发展已经让整个We b世界发生了翻天覆地的变化.随着Java Servlet的推出,J a v a在电子商务方面开始崭露头角,最新的Java Server Page技术的推出,更是让J a v a成为基于We b的应用程序的首选开发工具.要学习J a v a技术中的Java Server Page,J

前端js实现打印excel表格

产品原型: 图片.png 功能需求:点击导出考勤表格按钮,会自动下载成Excel格式 图片.png 图片.png jsp页面代码: <div class="tools"> <button type="button" class="btn green" id="excell" onclick="method5('dataTable')">导出考勤表</button> <