I'm using datatables and jQuery for making nice sortable tables. I now want to sort the rows an a value. This value is a numeric value. But it can also be not available, so at that point I will echo a dash.
When I now sort this column, all rows with the dash are on top. And than the rows with value 1, 3, 6, 8, 10 are shown. How do I change this so that the dash (-) are always on bottom of the table?
At the moment I put in a maximum number, what puts them on the bottom. However I don't want this value to be shown to the user. So I need a hidden sort column, or a other sorting method.
Thanks in advance!
Just came across this and wanted to share a much simpler solution (which perhaps wasn't available when this question was originally answered):
You can add the attribute
data-order
to eachtd
tag, which will then be used to order. For example:... would sort the 10 as a 10, but the dash as if it were 9999. What you fill in for the dashes could be variable and depend on e.g. identifying the maximum value on the server side. Plus, this is much more flexible for all kinds of data. Check out the doc here:
https://datatables.net/examples/advanced_init/html5-data-options
See this: http://jsfiddle.net/CYubV/
The first column in the table works like a normal column; the second column works like you ask.
Try custom sorting, something like this: