Table Sort Example 2 : Table Sorter « GUI Components « JavaScript Tutorial

Home
JavaScript Tutorial
1.Language Basics
2.Operators
3.Statement
4.Development
5.Number Data Type
6.String
7.Function
8.Global
9.Math
10.Form
11.Array
12.Date
13.Dialogs
14.Document
15.Event
16.Location
17.Navigator
18.Screen
19.Window
20.History
21.HTML Tags
22.Style
23.DOM Node
24.Drag Drop
25.Object Oriented
26.Regular Expressions
27.XML
28.GUI Components
29.Dojo toolkit
30.jQuery
31.Animation
32.MS JScript
JavaScript Tutorial » GUI Components » Table Sorter 
28.3.2.Table Sort Example 2
<!--
The following code is from 

Professional JavaScript for Web Developers
by Nicholas C. Zakas

ISBN: 978-0-7645-7908-0
April 2005

http://www.nczonline.net/
For purchase: http://www.amazon.com/Professional-JavaScript-Developers-Wrox-Guides/dp/0764579088
For publisher website: http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764579088.html
-->
<html>
    <head>
  <title>Table Sort Example</title>
        <script type="text/javascript">
        
            function generateCompareTRs(iCol) {
        
                return  function compareTRs(oTR1, oTR2) {
                            var sValue1 = oTR1.cells[iCol].firstChild.nodeValue;
                            var sValue2 = oTR2.cells[iCol].firstChild.nodeValue;
        
                            return sValue1.localeCompare(sValue2);
                        };
            }
           
            function sortTable(sTableID, iCol) {
                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];
                }
        
                if (oTable.sortCol == iCol) {
                    aTRs.reverse();
                else {
                    aTRs.sort(generateCompareTRs(iCol));
                }
        
                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>
        <P>Click on the table header to sort in ascending order.</p>
        <table border="1" id="tblSort">
            <thead>
                <tr>
                    <th onclick="sortTable('tblSort', 0)" style="cursor:pointer">Last Name</th>
                    <th onclick="sortTable('tblSort', 1)" style="cursor:pointer">First Name</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>Smith</td>
                    <td>John</td>
                </tr>
                <tr>
                    <td>Johnson</td>
                    <td>Betty</td>
                </tr>
                <tr>
                    <td>Henderson</td>
                    <td>Nathan</td>
                </tr>
                <tr>
                    <td>Williams</td>
                    <td>James</td>
                </tr>
                <tr>
                    <td>Gilliam</td>
                    <td>Michael</td>
                </tr>
                <tr>
                    <td>Walker</td>
                    <td>Matthew</td>
                </tr>
            </tbody>
        </table>        
    </body>
</html>
28.3.Table Sorter
28.3.1.Table Sort Example
28.3.2.Table Sort Example 2
28.3.3.Table Sort Example 3
28.3.4.Table Sort Example 4
28.3.5.Table Sort Example 5
28.3.6.System Drag And Drop Example
28.3.7.Assign mouse move event coordinate to element style
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.