zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    客户端用不用bind的区别
    软件项目开发流程
    很强大的几个网站
    MIS系统的 5个基本模块
    asp.net 生成导出word表单 ,导出excel; dataTable生成xls文件,返回前台下载;asp.net启动excel错误 80070005;excelxls columnName 不能改变; 读写excel的开源利器NPOI; 设置excel Cell的数据类型;
    正则快速入门
    asp.net 服务端调用客户端脚本; asp.net 服务端将文件传给客户端; reponse.ContentType的取值;用OutputStream.Write返回文件,效率是WriteFile的10倍;download link click和OutputStream的比较;
    常用编辑
    数据库流程图设计
    scroll位置控制 window的和div的
  • 原文地址:https://www.cnblogs.com/happyrocky/p/5599152.html
Copyright © 2011-2022 走看看