Tablesorters addparse给出“undefined不是函数”

时间:2014-09-23 13:12:10

标签: javascript jquery tablesorter

Tablesorter不是以某种方式接受.addParser。我得到错误" undefined不是函数"。 这是我的代码:

 $('mytable').tablesorter({
    sortList: [[0,0]],
    sortRestart: true,
    initialized: function(table) {
        var currentTable = $(table);
        var startcol = currentTable.data("startcol");
        if (startcol) {
            var sorting = [[startcol, 0]];
            currentTable.trigger("sorton", [sorting]);
        }
    },
    headers:
    {
        4: { sorter: 'customparse' },
        5: { sorter: 'customparse' }
    }
}).addParser({
    id: 'customparse',
    is: function (s) {
        return false;
    },
    format: function (s) {
        console.log(s);
        return s.replace(/\s+/g, '').replace(/,/g, '.');
    },
    type: 'numeric'
});

我发现了一些其他相关的问题而且无法找到我的问题。我已经多次检查jQuery不包含两次。它没有addPareser工作正常甚至认为我使用的jQuery版本是1.11。但我尝试更新到2.1版但没有变化..

我发错了吗?我做错了什么..

3 个答案:

答案 0 :(得分:5)

要添加解析器,您需要使用$.tablesorter.addParser()。您无法像尝试那样从jQuery对象访问该方法。

答案 1 :(得分:2)

因为您正在添加解析器错误

$.tablesorter.addParser({ ... });

Documentation Example

答案 2 :(得分:2)

$.tablesorter.addParser({
    id: 'customparse',
    is: function (s) {
        return false;
    },
    format: function (s) {
        console.log(s);
        return s.replace(/\s+/g, '').replace(/,/g, '.');
    },
    type: 'numeric'
});

在您在桌面上实例化tablesorter之前,请执行以上操作。