• 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

  • 相关阅读:
    解决:Requested 'libdrm_radeon >= 2.4.56' but version of libdrm_radeon is 2.4.52
    解决Ubuntun 12.04编译Mesa10.3 WARNING: 'aclocal-1.14' is missing on your system
    交叉编译Mesa,X11lib,Qt opengl
    Qt5.4.1移植到arm——Linuxfb篇
    Qt5.3.0的安装与测试
    gstreamer——文档/资源/使用
    gst-rtsp-server编译测试
    gstreamer-tips-picture-in-picture-compositing
    Matlab实现加性高斯白噪声信道(AWGN)下的digital调制格式识别分类
    Matlab实现单(双)极性(不)归零码
  • 原文地址:https://www.cnblogs.com/happyrocky/p/5599152.html
Copyright © 2020-2023  润新知