使用JQuery刪除Table中的合併行

leniz發表於2011-06-14

    SAP BPS  Web Interface中的Layout控制元件,不知道如何去改變同列值相同合併的功能,因為要用以前使用的JS來做Save To Excel功能,而我又恰恰不需要開始的兩列,所以特定寫了一段程式碼進行列刪除。 列刪除唯一要考慮的是對應存在行合併的列,需要跳過一些行。

  $("#LAYOUT_DOWNLOAD-table").find("tr").each(function(i){
   if(i == 0){ // 第一行是標題,直接刪除就好了
      $(this).find("td").eq(0).remove();
       $(this).find("td").eq(0).remove(); 
    }else if(i == 1 ){ //從第二行開始可能存在行合併的情況
    c1_rows= $(this).find("td").eq(0).attr("rowspan");
    c2_rows= $(this).find("td").eq(1).attr("rowspan");
    $(this).find("td").eq(0).remove();
      $(this).find("td").eq(0).remove();
      c1_rows = c1_rows - 1;
      c2_rows = c2_rows - 1;
    }else if( i > 1){
     if( c1_rows > 0){ //還有合併行,所以要在考慮
      c1_rows = c1_rows - 1;
      if(c2_rows > 0){
       //什麼也不用做
       c2_rows = c2_rows - 1;
      }else{
       c2_rows= $(this).find("td").eq(0).attr("rowspan");
       $(this).find("td").eq(0).remove();
       c2_rows = c2_rows - 1;
       }    
     }else{ //重新開始獲取合併行數
      c1_rows= $(this).find("td").eq(0).attr("rowspan");
      c2_rows= $(this).find("td").eq(1).attr("rowspan");
      $(this).find("td").eq(1).remove();
        $(this).find("td").eq(1).remove();
        c1_rows = c1_rows - 1;
        c2_rows = c2_rows - 1;      
      
     }
    }

  });

又老了半歲,不過還好,理清楚了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/554557/viewspace-697914/,如需轉載,請註明出處,否則將追究法律責任。

相關文章