Click here to Skip to main content
Licence 
First Posted 24 Nov 2001
Views 374,418
Bookmarked 71 times

Sorting HTML Tables using Javascript

By | 24 Sep 2002 | Article
A simple method of making your HTML tables sortable. No additional coding necessary!

demo image

Introduction

This JavaScript code can be used to convert tables in ordinary HTML into sortable ones by associating each title column with an onClick event to automatically sort the data rows.

No additional coding is necessary. All you need to do is give your table an ID field, include the sortTable.js file and call initTable in your document's onLoad method.

<HTML>
<HEAD>
<TITLE>Sample Table</TITLE>
</HEAD>
<BODY onLoad='initTable("table0");'>

<SCRIPT SRC="sortTable.js"></SCRIPT>

<TABLE ID="table0" BORDER=1>
	<TBODY>
	<TR><TD ROWSPAN=2>NO</TD><TD COLSPAN=2>IDS</TD><TD ROWSPAN=2>Date</TD></TR>
	<TR><TD>ID</TD><TD>Device ID</TD></TR>
	<TR><TD COLSPAN=4>&nbsp;</TD></TR>
	<TR><TD COLSPAN=3>&nbsp;</TD><TD>&nbsp;</TD></TR>
	<TR><TD>1</TD><TD>k</TD><TD>00030</TD><TD>11/09/01 12:14:00 pm</TD></TR>
	<TR><TD>2</TD><TD>c</TD><TD>00006</TD><TD>11/11/01 12:15:00 pm</TD></TR>
	<TR><TD>3</TD><TD>a</TD><TD>00016</TD><TD>10/16/01 08:14:00 am</TD></TR>
	<TR><TD>4</TD><TD>b</TD><TD>00031</TD><TD>09/05/01 10:05:00 am</TD></TR>
</TABLE>

History

27 Nov 2001 - updated source

3 Dec 2001 - updated source to include better comments. Also changed the main engine so that the data rows with various properties can be swapped as a whole. This change makes the script more flexible

6 Dec 2001 - The script now uses delete/insertCell for all the cell manipulation. So, what does this mean? Well, it's really flexible now. It should retain all the cell properties even when the script gets applied, including those of the title cells.

18 Dec 2001 - Fixed a few more bugs and improved the script so that it can handle different types of title cells.

23 Jan 2002 - Updated source files

15 Mar 2002

  • Automatic sort upon page load
  • Handling of <THEAD> <TFOOT> tags

5 Apr 2002

  • The script now preserves most common cell properties.
  • Bug fix in isDate method.

10 Apr 2002

  • Title rows can now be in a separate table
  • CSS preserved for cells
  • Bug fix in the status caption
  • Title link events now propagated to the entire cells

25 Apr 2002

  • Removes HTML tags when comparing cell content

25 July 2002:

  • Handles Euro date format
  • Fixed up/down replacement reg exp
  • Title column hints (via TITLE) added
  • Changed up/down char to up/down arrows
  • Up/down arrows get displayed if doSortUponLoad is set
  • Added a new feature to allow skipping columns when sorting
  • Title cells can be highlighted (bgcolor chaged) onMouseOver ...

25 Sep 2002:

  • Mouse pointer becomes hourglass while sorting
  • Bug fix where sorting is mistakenly done twice if doSortUponLoad is set
  • Sort direction alternates even between tables

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Han Yu

Web Developer

United States United States

Member

http://www.geocities.com/sc_hanyu/

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
QuestionSort by Ascending or Descending PinmemberRachelWoulf9:50 2 Aug '10  
AnswerRe: Sort by Ascending or Descending Pinmemberrwoulf12:02 2 Aug '10  
GeneralFinding rowindex of the Html table in javascript PinmemberRajeshgut4:20 13 Oct '09  
GeneralSorting by second word in a column. PinmemberJohn Rogers15:50 24 Jun '08  
Does anyone know if it is possible to sort a column by the second word in the column? This would be useful in the case of sorting by last name.
 
John Rogers
www.cerberus.com.au

Questionhelp....? Pinmemberbakfull soulie10:18 6 May '08  
AnswerRe: help....? PinmemberJohn Rogers15:46 24 Jun '08  
Questionsetting columns to ignore Pinmemberalastarwaterwolf13:13 21 Aug '07  
Questionforums Pinmemberviji270319854:25 20 Aug '07  
Generalgreat script Pinmemberrodsavestuff9:01 14 Feb '07  
QuestionProblems with columns with select fields Pinmembersteffersonj4:42 14 Nov '06  
Generalfixed header PinmemberJ512198221:29 6 Aug '06  
GeneralRe-initialization in conjunction with Filter Pinmemberahooja6:12 28 Jun '06  
GeneralProblem with empty cells Pinmembersiribudigi7:44 9 May '06  
QuestionHow to sort on columns having checkbox ? PinmemberCottonGear1:07 20 Oct '05  
GeneralDate with format DD-MON-YY is not sorting properly Pinmemberdhan_raj1:10 14 Oct '05  
GeneralTry this script, its awesome PinmemberS.A.S.22:16 18 Sep '05  
GeneralChanging the column that sorts PinmemberCrystalB259:45 15 Feb '05  
GeneralRe: Changing the column that sorts Pinmemberandroidik3:55 18 Mar '05  
Generalwrong css class in firefox PinmemberLaubi_3:22 9 Jan '05  
Generalskip rows while sorting table. Great Effort Pinmembersreepavanic4:11 18 Nov '04  
GeneralFormatting Table and fields Pinmembergareth13516849811:09 21 Apr '04  
GeneralCells with a Link PinmemberJoeStone8:20 21 Jan '04  
GeneralSorting a table on XML page PinsussAnonymous9:27 26 Nov '03  
GeneralAnother bug found!!! PinmemberZhuofei Wang15:47 18 Sep '03  
GeneralEmpty cells problem PinmemberDrJ221:35 10 Aug '03  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web03 | 2.5.120604.1 | Last Updated 25 Sep 2002
Article Copyright 2001 by Han Yu
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid