Thanks Christian!! That worked out great. Thanks again for your time and the plugin, of course.
On Dec 20, 3:02 am, "Christian Bach" <[EMAIL PROTECTED]> wrote: > Hi Jay, > > There was a small bug in the parser. > > This works as expected: > > $.tablesorter.addParser({ > // set a unique id > id: 'dates', > is: function(s) { > // return false so this parser is not auto detected > return false; > }, > format: function(s) { > // split > var a = s.split('-'); > // get month num > a[1] = this.getMonth(a[1]); > // glue and return a new date > return new Date(a.reverse().join("/")).getTime(); > }, > getMonth: function(s) { > var m = > ['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec'] > var l = m.length; > for(var i=0; i < l; i++) { > if(m[i] == s.toLowerCase()) { > return (i+1); > } > } > }, > // set type, either numeric or text > type: 'numeric' > > }); > > /Christian > > 2007/12/19, Jay Fallon <[EMAIL PROTECTED]>: > > > > > Hi Christian, thanks for the follow up, > > > I implemented the script as you described and it's still not sorting > > correctly: > > >http://jayfallon.net/tablesorter/tablesorter.html > > > On Dec 19, 1:21 pm, "Christian Bach" <[EMAIL PROTECTED]> > > wrote: > > > Hi Jay, > > > > This will solve your problem: > > > > // add parser through the tablesorter addParser method > > > $.tablesorter.addParser({ > > > // set a unique id > > > id: 'dates', > > > is: function(s) { > > > // return false so this parser is not auto detected > > > return false; > > > }, > > > format: function(s) { > > > // split > > > var a = s.split('-'); > > > // get month num > > > a[1] = this.getMonth(a[1]); > > > // glue and return a new date > > > return new Date(a.join("/")).getTime(); > > > }, > > > getMonth: function(s) { > > > var m = > > > ['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec'] > > > var l = m.length; > > > for(var i=0; i < l; i++) { > > > if(m[i] == s.toLowerCase()) { > > > return (i+1); > > > } > > > } > > > }, > > > // set type, either numeric or text > > > type: 'numeric' > > > > }); > > > > /christian > > > > 2007/12/18, Jay Fallon <[EMAIL PROTECTED]>: > > > > > It's easy to write a parser to convert the months to a sortable value, > > > > but the days and years are trickier. the current code is as follows: > > > > > // add parser through the tablesorter addParser method > > > > $.tablesorter.addParser({ > > > > // set a unique id > > > > id: 'dates', > > > > is: function(s) { > > > > // return false so this parser is not > > auto > > > > detected > > > > return false; > > > > }, > > > > format: function(s) { > > > > // format your data for normalization > > > > return s.toLowerCase > > > > ().replace(/dec/,12).replace(/nov/, > > > > 11).replace(/oct/,10).replace(/sep/,09).replace(/aug/,08).replace(/ > > > > jul/,07).replace(/jun/,06).replace(/may/,05).replace(/apr/, > > > > 04).replace(/mar/,03).replace(/feb/,02).replace(/jan/,01); > > > > }, > > > > // set type, either numeric or text > > > > type: 'numeric' > > > > }); > > > > > $(function() { > > > > $.tablesorter.defaults.widgets = ['zebra']; > > > > $("#announcements").tablesorter({ > > > > headers: { > > > > 0: {sorter:'dates'},1: > > > > {sorter:false},2: {sorter:false},3: > > > > {sorter:false} > > > > } > > > > }); > > > > }); > > > > > On Dec 18, 2:06 pm, Jay Fallon <[EMAIL PROTECTED]> wrote: > > > > > I need to sort a table based on the date format: 10-Dec-2007. Does > > > > > anyone know if this is possible with Tablesorter? > > > > > > I've tried us, uk & iso to no avail. > > > > > > Thanks, Jay