yshlin 发表于 2013-1-22 21:47:45

合并单元格

 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档 </title> </head> <body> <table width="100%" border="1" cellspacing="0" cellpadding="0" id="tab">   <tr>   <td>张三 </td>   <td>男 </td>   <td>22 </td>   <td>数学 </td>   <td>90 </td>   </tr>    <tr>   <td>张三 </td>   <td>男 </td>   <td>22 </td>   <td>数学 </td>   <td>90 </td>   </tr>   <tr>   <td>张三 </td>   <td>男 </td>   <td>22 </td>   <td>语文 </td>   <td>70 </td>   </tr>   <tr>   <td>张三 </td>   <td>女 </td>   <td>22 </td>   <td>英语 </td>   <td>60 </td>   </tr>   <tr>   <td>李四 </td>   <td>女 </td>   <td>22 </td>   <td>数学 </td>   <td>60 </td>   </tr>   <tr>   <td>李四 </td>   <td>女 </td>   <td>19 </td>   <td>语文 </td>   <td>60 </td>   </tr>   <tr>   <td>王五 </td>   <td>男 </td>   <td>19 </td>   <td>英语 </td>   <td>60 </td>   </tr> </table> <script type="text/javascript">window.onload = function(){    var tab = document.getElementByIdx_x_x("tab");    var maxCol = 3, val, count, start;//maxCol:合并单元格作用到多少列      for(var col = maxCol-1; col >= 0 ; col--){      count = 1;      val = "";      for(var i=0; i<tab.rows.length; i++){            if(val == tab.rows.cells.innerHTML){                count++;            }else{                if(count > 1){ //合并                  start = i - count;                  tab.rows.cells.rowSpan = count;                  for(var j=start+1; j<i; j++){                        tab.rows.cells.style.display = "none";                  }                  count = 1;                }                val = tab.rows.cells.innerHTML;            }      }      if(count > 1 ){ //合并,最后几行相同的情况下            start = i - count;            tab.rows.cells.rowSpan = count;            for(var j=start+1; j<i; j++){                tab.rows.cells.style.display = "none";            }      }    }};</script></body> </html> 
页: [1]
查看完整版本: 合并单元格