最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Sort only one column with jquery and tablesorter - Stack Overflow

programmeradmin0浏览0评论

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 can see my site here:

Now its filtering all colums and i'd like to filter only "Lainasumma" column. Could you also say why its not sorting amounts properly?

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 can see my site here: http://tinyurl.com/3j38vye

Now its filtering all colums and i'd like to filter only "Lainasumma" column. Could you also say why its not sorting amounts properly?

Share Improve this question edited Sep 26, 2013 at 4:48 Salman Arshad 272k84 gold badges442 silver badges533 bronze badges asked Oct 21, 2011 at 12:43 SnowSnow 711 silver badge2 bronze badges
Add a comment  | 

3 Answers 3

Reset to default 8

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.

Edit

You can use $.tablesorter.addParser() method to define custom sorting (see the jsFiddle example above).

Code

$(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.

发布评论

评论列表(0)

  1. 暂无评论