У меня есть следующая таблица HTML:
<table border="1" id="myTable">
<tr><td><b>Group1</b></td><td><b>Group3</b></td></tr>
<tr><td>value1</td><td>value1</td></tr>
<tr><td>value3</td><td>value4</td></tr>
<tr><td>value2</td><td>value3</td></tr>
<tr><td>value4</td><td>value5</td></tr>
<tr><td>value5</td><td>value2</td></tr>
<tr><td><b>Group2</b></td><td><b>Group2</b></td></tr>
<tr><td>value1</td><td>value1</td></tr>
<tr><td>value3</td><td>value4</td></tr>
<tr><td>value2</td><td>value3</td></tr>
<tr><td>value4</td><td>value5</td></tr>
<tr><td>value5</td><td>value2</td></tr>
<tr><td><b>Group3</b></td><td><b>Group1</b></td></tr>
<tr><td>value1</td><td>value1</td></tr>
<tr><td>value3</td><td>value4</td></tr>
<tr><td>value2</td><td>value3</td></tr>
<tr><td>value4</td><td>value5</td></tr>
<tr><td>value5</td><td>value2</td></tr>
</table>
Я попробовал это, сначала поместил его в словарь, а затем поместил в таблицу. Чтобы понять приведенный ниже код, я пытаюсь отсортировать группы по тегу <b>
, оттуда я помещаю этот тег как ключ в словарь, потому что это группа, и я помещаю соответствующие элементы этой группы в ключ словаря. {}
sortTable($('#myTable'), 'asc', 0)
function sortTable(tbl, order, column){
var table = $(tbl)
var rows = table.find('tr')
var groups = {}
rows.each(function(i, e){
var cells = $(this).find('td')
var cell = $(cells[column])
var lastGroup = ''
if (cell.find('b').length > 0){
if (!groups[cells.text()]){
groups[cell.text()] = []
lastGroup = cell.text()
}
}
groups[lastGroup].push(cell.text())
})
groups = groups.sort()
rows.each(function(i, e){
var cells = $(this).find('td').text(groups[i])
})
}
Мне нужно отсортировать группы в этой таблице и элементы в этой группе. По возрастанию или по убыванию.
Как мне это сделать в jQuery?