Сортировать таблицу, содержащую группы, используя jQuery - PullRequest
0 голосов
/ 20 октября 2019

У меня есть следующая таблица 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?

1 Ответ

0 голосов
/ 20 октября 2019

Использование Datatables Плагин JS

Порядок (сортировка) по умолчанию

$(document).ready(function() {
$('#example').DataTable( {
    "order": [[ 3, "desc" ]]
});});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...