根据提供的值对表进行排序

时间:2017-08-29 19:24:33

标签: javascript

我想知道是否有办法使用javascript基于提供的值对表进行排序。

例如,如果我有一个表格如下:

id      name      team    
1       doe       red
2       dee       blue
3       daa       yellow
4       doo       green
5       duu       green

假设我有一个名为green的按钮。如果我单击绿色按钮,我想先显示绿色数据。所以我想要的结果是:

id      name      team    
4       doo       green
5       duu       green
1       doe       red
2       dee       blue
3       daa       yellow

谢谢!欣赏它:)

1 个答案:

答案 0 :(得分:0)

以下是您的要求的逻辑:

    var x = [].slice.call(document.getElementById("myTable").rows);
    var search_rows = [];
    var non_search_rows = [];

    var search_text = "green";      // replace it with button text
    var cell_index = 2;             // replace it with column index containing data

    x.forEach(function(row){
        if (row.cells[cell_index].innerHTML === search_text) search_rows.push(row);
        else non_search_rows.push(row);
      })

    var rows_in_order = search_rows.concat(non_search_rows);
    var d = document.createDocumentFragment();

    rows_in_order.forEach(function(row)
      {
      d.appendChild(row);
      });

    document.getElementById("myTable").tBodies[0].appendChild(d);