I have a table with a column with numbers spanning approximately -10 to 10 and some empty columns.
I'd like tablesorter to always put the empty columns at the bottom of the table. Even if I sort ascending or descending.
Like this:
-1
0
2
3
<empty cell>
<empty cell>
or like this:
3
2
0
-1
<empty cell>
<empty cell>
Note that my problem is the same as question 4792426 except that I want empty cells on the bottom both when sorting order is descending and ascending.
Deleting rows is not an option.
I found a way to solve my problem.
The solution provided by ssell did not work. The table data is parsed only once, so you cannot use a global variable to control it. Nice try though! :-)
This is the code needed. As you see I overload the formatFloat and formatInt functions so that they return null instead of the default value: 0. The sorting function inside tablesorter does the rest magically for me.
$(document).ready(function () {
$.tablesorter.formatInt = function (s) {
var i = parseInt(s);
return (isNaN(i)) ? null : i;
};
$.tablesorter.formatFloat = function (s) {
var i = parseFloat(s);
return (isNaN(i)) ? null : i;
};
$("#table").tablesorter();
});
As far as I know my solution is undocumented, but it works fine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With