At the moment im using jquery tablesorter and tablesorter filter. My problem is that i want that my filter would filter only one column. Now its filtering all columns. You c
Did you look at the documentation? Here is an example of how you would disable some columns that use tablesorter. You can pass a headers
object in which you can specify which columns are disabled.
An alternate method is to add class="{sorter: false}"
to the cells on which you want to disable the sorting.
You can use $.tablesorter.addParser()
method to define custom sorting (see the jsFiddle example above).
$(document).ready(function() {
$.tablesorter.addParser({
id: 'custom_sort_function',
is: function(s) {
return false;
},
format: function(s) {
// the € symbol causes the tablesorter to treat the value as a string
// remove it and let the tablesorter treat it as numeric
// use /\u20AC/ instead of /€/ if regex does not work as expected
return s.replace(/€/, '');
},
type: 'numeric'
});
$("#pikavipit").tablesorter({
headers: {
0: {
sorter: false
},
1: {
sorter: false
},
2: {
sorter: 'custom_sort_function'
},
3: {
sorter: false
},
4: {
sorter: false
},
5: {
sorter: false
},
6: {
sorter: false
},
7: {
sorter: false
},
8: {
sorter: false
}
}
});
});
The easiest solution for that is to modify the selectorHeaders in the javascript file and set it to something other like:
selectorHeaders: 'thead th.sortable'
Now, the only thing you have to do is to give only the collumns you want to be sortable the css class sortable.
I can tell you that it is not sorting the amounts properly because the sorting don't treat the amounts columns as numbers and instead it treats them as text so it is sorting them text based.