Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Помогите с tablesorter, он не правильно сортирует числа в таблицах (https://javascript.ru/forum/jquery/39955-pomogite-s-tablesorter-ne-pravilno-sortiruet-chisla-v-tablicakh.html)

metaller92 18.07.2013 13:05

Помогите с tablesorter, он не правильно сортирует числа в таблицах
 
Здравствуйте, прошу помощи.

Проблема такая, jquery плагин tablesorter не правильно сортирует tr в одном столбце.

имеются числа допустим 100,200,2000 и 400.

И он их сортирует так:

100
2000
200
400

И это только в одном столбце, в остальных все верно.
Метод sortList не помогает. Я уже устал читать документацию, не могу найти решения. Прошу помощи, спасибо!

skrudjmakdak 18.07.2013 13:39

может тип даннных видит как string, сделайте их интовскими

metaller92 18.07.2013 13:50

Цитата:

Сообщение от skrudjmakdak (Сообщение 262945)
может тип даннных видит как string, сделайте их интовскими

В консоли проверил, точно!
И как принудительно его изменить в jquery?

рони 18.07.2013 13:55

metaller92,
пример пары тройки строк можно увидеть?

metaller92 18.07.2013 13:57

Цитата:

Сообщение от рони (Сообщение 262949)
metaller92,
пример пары тройки строк можно увидеть?

http://devserver.ti.dn.ua/~dmitry_piscshalka/fly/

это ссылка на сайт, наберите что либо в поле ввода и нажмите enter, там вы сожите добартся до нужной таблицы.

проблемная графа "бонус".


Почему не могу дать ссылку куда надо? - потому что все это, является одной страницей.

metaller92 18.07.2013 14:02

Цитата:

Сообщение от metaller92 (Сообщение 262948)
В консоли проверил, точно!
И как принудительно его изменить в jquery?

Поспешил я с выводами, в удачных столбцах, тип данных тоже string. Однако плагин их нормально сортирует.

skrudjmakdak 18.07.2013 14:26

а где данные формируются? с сервера тянутся или как?

metaller92 18.07.2013 14:27

Цитата:

Сообщение от skrudjmakdak (Сообщение 262953)
а где данные формируются? с сервера тянутся или как?

нет, здесь только html, все статически задано в html

skrudjmakdak 18.07.2013 14:32

да у вас и другие столбцы также отрабатывают. я вручную поменял в столбце тариф с 4250 на 42500. такая же песня.. это скорей всего из за типа string

skrudjmakdak 18.07.2013 14:34

преобразовывать строки в число можно так:
parseInt('123');//javascript
echo (int) '111'; //php

как то так

metaller92 18.07.2013 14:39

Печально.

Я написал такое

parseInt($('.fined_table_bonus .badge-info span'));

перед объявлением tablesorter, не помогло.

Может ли twitter bootstrap мешать?

skrudjmakdak 18.07.2013 14:40

parseInt применяется к строке,а не к объекту!

рони 18.07.2013 14:41

metaller92,
попробуйте так
var myTextExtraction = function(node)
  {

    var text = parseFloat($(node).text());
    if(text) return text;
    return node.innerHTML;
  }
  $(document).ready(function()
    {
      $("#myTable").tablesorter({textExtraction: myTextExtraction});
    }
  );

metaller92 18.07.2013 17:04

Цитата:

Сообщение от рони (Сообщение 262961)
metaller92,
попробуйте так
var myTextExtraction = function(node)
  {

    var text = parseFloat($(node).text());
    if(text) return text;
    return node.innerHTML;
  }
  $(document).ready(function()
    {
      $("#myTable").tablesorter({textExtraction: myTextExtraction});
    }
  );

Вот спасибо тебе добрый человек, да и всем вам спасибо ребят! Без вашей помощи я б и ночевать в офисе остался (шучу конечно, но помогли вы мне здорово!).

Не по теме, какие вы книги штудировали по js, толковых можете посоветовать?


Часовой пояс GMT +3, время: 20:56.