FooTable - jQuery plugin for responsive HTML tables

Add sorting to your FooTable
Sort by ID | First | DOB | Status

ID | First Name | Last Name | Job Title | DOB | Status
--- | --- | --- | --- | --- | ---
2 | Isidra | Boudreaux | Traffic Court Referee | 22 Jun 1972 | Active
3 | Shona | Woldt | Airline Transport Pilot | 3 Oct 1981 | Disabled
1 | Granville | Leonardo | Business Services Sales Representative | 19 Apr 1969 | Suspended
8 | Easer | Dragoo | Drywall Stripper | 13 Dec 1977 | Active
4 | Maple | Halladay | Aviation Tactical Readiness Officer | 30 Dec 1991 | Suspended
5 | Maxine | Woldt | Business Services Sales Representative | 17 Oct 1987 | Disabled
6 | Lorraine | Mcgaughy | Hemodialysis Technician | 11 Nov 1983 | Disabled
9 | Lizzee | Goodlow | Technical Services Librarian | 1 Nov 1961 | Suspended
10 | Judi | Badgett | Electrical Lineworker | 23 Jun 1981 | Active
7 | Lauri | Hyland | Blackjack Supervisor | 15 Nov 1985 | Suspended

Check out the getting started demo to see how to setup FooTable.

#### Include Sorting Add-On

You simply need to include the sorting add-on javascript file to make your table sortable:

    <script src="path_to_your_js/footable.sort.js" type="text/javascript"></script>

#### Sorting

Sorting of columns is done using FooTable's built-in parsers, which are defined in the default options. The parsers first look at the `data-value` attribute of a cell, and if there is no data-value attribute, then the .text() of the cell is used. Sorting is done using text-comparisons.

#### Sorting Numeric Data

To sort numeric data, you must specify that the column is `data-type="numeric"`

#### Sorting Dates

To sort dates, you must specify that the column is `data-type="numeric"` and also specify a `data-value` value for each cell, which can be either the date value in ticks or the unix timestamp value, e.g. `<td data-value="500874333932">15 Nov 1985</td>`

#### Disable Sorting On Entire Table

You can disable sorting for a table by adding the data attribute `data-sort="false"` to the table.

#### Disable Sorting For Certain Columns

You can disable sorting for specific columns by adding the data attribute `data-sort-ignore="true"` to the column header definition.

#### Initial Sorting

You can sort a table automatically when the FooTable is initialized by adding some data attributes to your columns:

`data-sort-initial="true"` will automatically sort the column when the FooTable is initialized.

`data-sort-initial="descending"` will automatically sort the column in descending order when the FooTable is initialized.

    <table class="table demo">
    	<thead>
    		<tr>
    			<th data-type="numeric" data-sort-initial="true">
    				ID
    			</th>
    			<th>
    				First Name
    			</th>
    			<th data-sort-ignore="true">
    				Last Name
    			</th>
    		</tr>
    	</thead>

#### Sorting API

You can also programmatically sort your table:

    $('.sort-column').click(function (e) {
        e.preventDefault();

        //get the footable sort object
        var footableSort = $('table').data('footable-sort');

        //get the index we are wanting to sort by
        var index = $(this).data('index');

        //get the sort order
        var ascending = $(this).data('ascending');

        footableSort.doSort(index, ascending);
    });

If you do not pass a sort order, it will toggle whatever the current sort order is.