Thanks so much! Here is my final version of the script: <script type="text/javascript"> $(document).ready(function() {
$.tablesorter.addParser({ id: 'distance', is: function(s) { return false; }, format: function(s) { var v = "" + s; //make sure we're working with a string v = v.substr(0, v.indexOf(" ")); return Number(v); }, type: 'numeric' }); $("#locationsTable").tablesorter( {sortList: [[1,0]], headers: { 0: { sorter: false }, 1: { sorter:'distance' }, 2: { sorter: false }, 3: { sorter: false } } } ); }); </script> On Nov 17, 2:32 pm, MorningZ <morni...@gmail.com> wrote: > First, understand *why* it doesn't work: > > - You add "miles" to the table cell, then Tablesorter treats it as a > string value > > Now that this is understoodd, the solution is to use a custom parser > to > strip out the label, here is an example > > http://jsbin.com/unepe/edit > > On Nov 17, 11:17 am, Yvan <yvana...@gmail.com> wrote: > > > I'm using the tableshorter plugin on a table which lists multiple > > locations, and that contains a "Distance" column which displays > > distances in the format of "17 Miles" and "5 miles", etc. > > > I have the following javascript in my head section, which defines the > > sort order of the 1 column that I want to have sortable (and that > > specifies which columns I do not want to make sortable): > > > <script type="text/javascript"> > > $(document).ready(function() { > > $("#locationsTable").tablesorter( {sortList: > > [[1,0]], > > headers: { > > 0: { sorter: false }, > > 2: { sorter: false }, > > 3: { sorter: false } > > } > > } > > ); > > }); > > </script> > > > I'm finding that I am not able to properly sort the distance column > > when I include the word "Miles" in that table cell. It's only when I > > remove the word "Miles" from the table cell that the column sorts > > properly. > > > How can I fix this? > > > Thanks, > > - Yvan