Сортировка таблиц из нескольких таблиц - PullRequest
0 голосов
/ 19 января 2012

Я использую jquery и плагин jquery "tablesorter" (http://tablesorter.com/docs/) для сортировки таблицы. Теперь у меня сложное, что у меня есть следующий html (другой способ невозможен):

<table class="tablesorter">
<tr>
       <th>ID</th>
       <th>Name</th>
       <th>Age</th>
   </tr>    
</table>
<table>
   <tr>
       <td>1</td>
       <td>Bob</td>
       <td>24</td>
   </tr>
</table>
<table>
   <tr>
       <td>1</td>
       <td>James</td>
       <td>33</td>
   </tr>
</table>
<table>
   <tr>
       <td>5</td>
       <td>PJ</td>
       <td>28</td>
   </tr>
</table>
<table>
   <tr>
       <td>1</td>
       <td>Sue</td>
       <td>39</td>
   </tr>
</table>

В каждой таблице по одной строке. Теперь я хочу отсортировать это множество таблиц, так как это одна таблица. Есть ли какое-либо решение для этой проблемы?

Я нашел здесь попытку: http://jsfiddle.net/Mottie/8cg4f/31/ Но есть только две таблицы, и скрипт сортирует данные только из одной таблицы.

Ответы [ 2 ]

1 голос
/ 19 января 2012

Нацельтесь на столы, которые вы хотите разграбить, разверните до <tr> s, переместите их туда, где они должны быть, поднимитесь до (теперь пустых) <table> s, отбросьте их. jsFiddle

$('table:not(.tablesorter)').find('tr').appendTo('.tablesorter')
    .end().end().remove();

РЕДАКТИРОВАТЬ: в соответствии с комментарием я смоделировал "интервал между <tr> s" с помощью заполнения на <td> s jsFiddle .

Если у вас есть другие требования к последней странице, просто дайте мне знать, чем вы хотите закончить, и я могу помочь создать решение, которое даст действительный HTML, который будет отображаться последовательно для всех ваших пользователей.

0 голосов
/ 19 января 2012

Попробуйте что-то вроде этого:

var $table = $(".tablesorter");
$table.nextAll("table").children().appendTo($table).end().remove();
$table.tablesorter();
...