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