2016-06-07 165 views
0

我有一個表,它看起來像我提供以下與此數據的示例 表創建行從分割陣列數據

 T  som  da  pap 
    ------------------------------ 
    A | soma | label | nami | 
    ---------------------------- 
    B | a:b | acha | wen:nda | 
    ----------------------------- 
    C | d | k | nd:ke | 
    ----------------------------- 

使用在javascript/jquery的數據我想 創建像一個表這基於巴氏計數

 T  som  da  pap 
    ------------------------------ 
    A | soma | label | nami | 
    ---------------------------- 
    B | a | acha | wen  | 
    ----------------------------- 
    B | b | acha | nda  | 
    ----------------------------- 
    C | d | k | nd  | 
    ----------------------------- 
    C | d | k | ke  | 
    ----------------------------- 

建議,我都試過,但到目前爲止,雙倍數據我只能把在TD,而不是TR

+0

'som'和'pap'中總會有相同數量的項目嗎?如果不是,如果他們有不同的數字會發生什麼? – Barmar

回答

0

假設兩個單元格中的項目數始終相同。

$("#tableID tr").each(function() { 
    var som = $(this).find("td:eq(1)").text(); 
    var som_array = som.split(':'); 
    if (som_array.length > 1) { 
     var pap_array = $(this).find("td:eq(3)").text().split(':'); 
     $.each(som_array, function(i, som_el) { 
      var pap_el = pap_array[i]; 
      var new_row = $(this).clone(); 
      new_row.eq(1).text(som_el); 
      new_row.eq(3).text(pap_el); 
      $(this).after(new_row); 
     } 
     $(this).remove(); 
    } 
}); 

這將遍歷表中的所有行,並檢查som列是否包含多個項目。如果確實如此,則會將其拆分,並拆分pap列。然後它遍歷這些值,複製原始行,並用拆分字符串的元素替換這些列。最後它刪除原來的行。