Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 26.11.2013, 00:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Apollon, сортировка и подсчёт одновременно -- для наглядности строка 3 на 1 месте и добавлен class="sum_k_r"
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script>
$(document)
           .ready(function () {
               var tr = $('.statistika-table tr').not(':first');
               tr.each(function () {
                   var sum = 0;
                   $('.green', this)
                       .each(function () {
                           sum += parseInt($(this)
                               .text())
                       });
                   $('[class^=sum] strong', this)
                       .text(sum);
               });
               tr = $.makeArray(tr)
                   .sort(function (a, b) {
                       a = +$('[class^=sum] strong', a)
                           .text();
                       b = +$('[class^=sum] strong', b)
                           .text();
                       return b - a
                   })
               $.map(tr, function (el, i) {
                   $('td:first', el)
                       .text(i + 1 + '.');
                   return el;
               });
               $(tr)
                   .appendTo($('.statistika-table tbody'))
           });
  </script>
</head>

<body>
<table class="sortable statistika-table" cellspacing='0'>
 <tr>
 <th>№</th>
 <th>Пилот</th>
 <th>Очки</th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Австралии" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-пр/ малайзии" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Китая" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Бахрейна" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Испании" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-пр/ монако" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Канады" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Великобритании" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Германии" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Венгрии" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Бельгии" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Италии" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Сингапура" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Кореии" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Японии" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Индии" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Абу-Даби" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при США" src="#" width="20"></a></th>
 <th class="flag"><a class="r" href="#"><img title="Гран-при Бразилии" src="#" width="20"></a></th>
 </tr>
 <tr>
 <td>3.</td>
 <td class="l"><a class="r" href="#">К. Райкконен</a></td>
 <td class="sum_k_r"><strong ></strong></td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="green" title="Позиция: 7">6</td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="green" title="Позиция: 10">1</td>
 <td class="green" title="Позиция: 9">2</td>
 <td class="green" title="Позиция: 5">10</td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="pink" title="Неисправность тормозной системы">A</td>
 <td title="Позиция: 11">0</td>
 <td class="green" title="Позиция: 3">15</td>
 <td class="green" title="Позиция: 2">18</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 </tr>
 <tr class="sum1">
 <td>1.</td>
 <td class="l"><a class="r" href="#">С. Феттель</a> </td>
 <td class="sum_s_f"><strong></strong></td>
 <td class="green" title="Позиция: 3">15</td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="green" title="Позиция: 4">12</td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="green" title="Позиция: 4">12</td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="pink" title="Поломка шестерни">A</td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="green" title="Позиция: 3">15</td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="green" title="Позиция: 1">25</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 </tr>
 <tr class="sum2">
 <td>2.</td>
 <td class="l"><a class="r" href="#">Ф. Алонсо</a> </td>
 <td class="sum_f_a"><strong></strong></td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="pink" title="Столкновение: переднее крыло">A</td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="green" title="Позиция: 8">4</td>
 <td class="green" title="Позиция: 1">25</td>
 <td class="green" title="Позиция: 7">6</td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="green" title="Позиция: 3">15</td>
 <td class="green" title="Позиция: 4">12</td>
 <td class="green" title="Позиция: 5">10</td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="green" title="Позиция: 2">18</td>
 <td class="green" title="Позиция: 6">8</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 <td title="">&nbsp;</td>
 </tr>

 </table>
</body>

</html>

Последний раз редактировалось рони, 26.11.2013 в 00:38.
Ответить с цитированием
  #12 (permalink)  
Старый 26.11.2013, 00:45
Аспирант
Отправить личное сообщение для Apollon Посмотреть профиль Найти все сообщения от Apollon
 
Регистрация: 01.11.2013
Сообщений: 42

Рони, ты гений!
Мне до тебя еще учиться и учиться.
Большое спасибо!
Ответить с цитированием
  #13 (permalink)  
Старый 26.11.2013, 02:40
Аспирант
Отправить личное сообщение для Apollon Посмотреть профиль Найти все сообщения от Apollon
 
Регистрация: 01.11.2013
Сообщений: 42

Извини за назойливость.
Подскажи пожалуйста, как можно отсортировать такое
<table class="sortable statistika-table" cellspacing='0'>
<tr>
   <th>№</th>
   <th>Пилот</th>
   <th>Время</th>
</tr>
<tr>
   <td>3.</td>
   <td><a class="r" href="#">К. Райкконен</a></td>
   <td class="sum">1:31.456</td>
</tr>
<tr>
   <td>1.</td>
   <td><a class="r" href="#">С. Феттель</a></td>
   <td class="sum">1:32.747</td>
</tr>
<tr>
   <td>2.</td>
   <td><a class="r" href="#">Ф. Алонсо</a></td>
   <td class="sum">1:30.545</td>
</tr>

Последний раз редактировалось Apollon, 26.11.2013 в 02:43.
Ответить с цитированием
  #14 (permalink)  
Старый 26.11.2013, 03:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Apollon,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script>
$(document)
           .ready(function () {
               var tr = $('.statistika-table tr').not(':first');
               tr = $.makeArray(tr)
                   .sort(function (a, b) {
                       a = $('[class^=sum]', a)
                           .text().match(/\d+/g);
                       b = $('[class^=sum]', b)
                           .text().match(/\d+/g);
                       return a[0] - b[0] || a[1] - b[1] || a[2] - b[2]
                   })
               $.map(tr, function (el, i) {
                   $('td:first', el)
                       .text(i + 1 + '.');
                    el.parentNode.appendChild(el)
                    return el;
               });

           });
  </script>
</head>

<body>
<table class="sortable statistika-table" cellspacing='0'>
<tr>
   <th>№</th>
   <th>Пилот</th>
   <th>Время</th>
</tr>
<tr>
   <td>3.</td>
   <td><a class="r" href="#">К. Райкконен</a></td>
   <td class="sum">1:31.456</td>
</tr>
<tr>
   <td>1.</td>
   <td><a class="r" href="#">С. Феттель</a></td>
   <td class="sum">1:32.747</td>
</tr>
<tr>
   <td>2.</td>
   <td><a class="r" href="#">Ф. Алонсо</a></td>
   <td class="sum">1:30.545</td>
</tr>
 </table>
</body>
</html>

Последний раз редактировалось рони, 26.11.2013 в 03:25.
Ответить с цитированием
  #15 (permalink)  
Старый 26.11.2013, 03:17
Аспирант
Отправить личное сообщение для Apollon Посмотреть профиль Найти все сообщения от Apollon
 
Регистрация: 01.11.2013
Сообщений: 42


Чтобы я без тебя делал!
Ответить с цитированием
  #16 (permalink)  
Старый 26.11.2013, 03:18
Аспирант
Отправить личное сообщение для Apollon Посмотреть профиль Найти все сообщения от Apollon
 
Регистрация: 01.11.2013
Сообщений: 42

Спасибо еще раз!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видимость строк в таблице Mars_ Общие вопросы Javascript 8 23.01.2013 13:38
Разварачивание строк в таблице на jQyery Suharik jQuery 49 07.05.2010 11:20
Подсчитать кол-во строк в таблице? bobroff jQuery 3 04.12.2009 12:29
Сортировка числовых данных в таблице Vladsss Общие вопросы Javascript 15 01.09.2009 17:02
поменять цвет у нескольких строк в таблице Root Элементы интерфейса 4 21.04.2008 10:30