2014-09-23 2 views
0

Tablesorter не принимается .addParser как-то. Я получаю сообщение об ошибке «undefined не является функцией». Это мой код:Tablesorters addparse дает «undefined is not a function»

$('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' 
}); 

Я нашел некоторые другие родственные вопросы и не могу найти мой вопрос .. Я Doubble проверить, что JQuery разве включенные в два раза. Он отлично работает без addPareser, даже думал, что версия jQuery Im использует 1.11. Но я пробовал обновлять до версии 2.1, но без изменений.

Я инициирую это неправильно? что я делаю неправильно.

+0

Надеюсь, вы ошибаетесь и используете ** 1.11 **, а не ** 1.1 **? – Regent

+0

@Regent Да, действительно, спасибо. – Cammy

ответ

5

Чтобы добавить парсер, вам необходимо использовать $.tablesorter.addParser(). Вы не можете получить доступ к методу из объекта jQuery, как вы пытаетесь сделать.

+0

Самый быстрый ответ, спасибо большое! Запутал настройки и добавил новое условие (например, что делает addparser). – Cammy

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 на вашем столе.