Hi all,

I sent an email to the jquery-plugins list before noticing that it
seems to be defunct. I'll quickly try to recreate from memory here...

I tried to get tablesorter to sort a table looking something like this:
<table>
<thead>
        <th>One</th>
        <th colspan="2">Two</th>
        <th>Four</th>
</thead>
<tbody>
<tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
</tr>
...etc...
</tbody>
</table>

But if I try to sort by 'Four', it will sort by the third column instead.
So, here is a simple, naiive bugfix that seems to work for me; I'd
like to hear any feedback that anyone has. I haven't tried at all with
colspans in the data.

Thanks,
Amos Robinson

--- /Users/amosrobinson/Desktop/jquery.tablesorter.js   2009-05-04
14:46:36.000000000 +1000
+++ jquery.tablesorter.js       2009-05-04 15:03:26.000000000 +1000
@@ -297,10 +297,14 @@
                                
                                $tableHeaders = $("thead th",table);
                
+                               var colspan_count = 0;
+
                                $tableHeaders.each(function(index) {
                                                        
                                        this.count = 0;
-                                       this.column = index;
+                                       this.column = colspan_count;
+                                       colspan_count += this.colSpan || 1;
+
                                        this.order = 
formatSortingOrder(table.config.sortInitialOrder);
                                        
                                        if(checkHeaderMetadata(this) || 
checkHeaderOptions(table,index))
this.sortDisabled = true;

Reply via email to