使用jquery和tablesorter只对一列进行排序

Sno*_*now 6 javascript jquery tablesorter

目前我正在使用jquery tablesorter和tablesorter过滤器.我的问题是,我希望我的过滤器只过滤一列.现在它过滤所有列.你可以在这里看到我的网站:http://tinyurl.com/3j38vye

现在它过滤所有colums,我想只过滤"Lainasumma"列.你能说出为什么它的排序量不合适吗?

Sal*_*n A 8

你看文件了吗?下面是一个如何禁用某些使用tablesorter的列的示例.您可以传递一个headers对象,您可以在该对象中指定禁用哪些列.

另一种方法是添加class="{sorter: false}"到要禁用排序的单元格.

编辑

您可以使用$.tablesorter.addParser()方法来定义自定义排序(请参阅上面的jsFiddle示例).

$(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
            }
        }
    });
});
Run Code Online (Sandbox Code Playgroud)


ber*_*rdh 6

最简单的解决方案是修改javascript文件中的selectorHeaders并将其设置为其他类似的东西:

 selectorHeaders: 'thead th.sortable'
Run Code Online (Sandbox Code Playgroud)

现在,你唯一要做的就是只给你想要排序的列,css类可以排序.