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

Reply via email to