Фильтрация в Tablesorter. Неожиданное поведение - PullRequest
0 голосов
/ 29 октября 2018

В моем табличном сортировщике я применил этот addParser к столбцу, который я показываю здесь в этом вопросе. И это хорошо работает, но я обнаружил неожиданное поведение при фильтрации каким-либо образом.

Результаты без фильтрации будут выглядеть следующим образом:

enter image description here

Код для addParser следующий:

$.tablesorter.addParser({ // set a unique id id: 'kilogramos', is: function(s) { // return false so this parser is not auto detected return false; }, format: function(s) { // format your data for normalization return parseFloat(s.replace(' Kg','').replace('.','')); }, // set type, either numeric or text type: 'numeric' });

Если я использую "> =", кажется, что применяется addParser, потому что я могу избавиться от "." и "кг", и он находит результаты 11,689 кг.

enter image description here

Но, похоже, что если я не использую операторы типа ">" или "> =" и т. Д., Поведение изменится, и ему понадобится точка, чтобы найти то, что вы пытаетесь получить. На следующих рисунках показано, что я имею в виду.

enter image description here На этой последней картинке я не использую операторы и не нахожу никаких результатов. Вместо этого теперь нужно "." а также даже "кг" это работает. Следующее изображение доказывает, что:

enter image description here

Я просто не хочу этого "." или «кг» для использования в любом случае.

Любая помощь? Спасибо

1 Ответ

0 голосов
/ 29 октября 2018

Я думаю, что все, что вам не хватает, это класс "разбора фильтра" в заголовке ( demo )

<th class="sorter-kilogramos filter-parsed">Kg</th>
...