2017-08-29 76 views
-3

我想知道是否有一种方法来根据提供的值使用JavaScript对表进行排序。根据提供的价值排序表

举例来说,如果我有一个表如下:

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

让说,我有按钮命名为绿色。如果我点击绿色按钮,我想先用绿色显示数据。所以我想要的结果是:

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

谢谢!欣赏它:)

+0

什么样的表?这是一个JSON对象还是一个HTML表格? – Ishey4

+2

是的,这无疑是一种方式。但是,您完全没有提供任何代码来向我们展示您必须使用的内容,更重要的是,您尝试过的内容。 – j08691

+0

HTML表格。我很抱歉没有提到它。 – Deja

回答

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);