日期:2014-05-17  浏览次数:20795 次

javascript 合并单元格
有这样一个需求html页面,一个table表格每行相邻的列的内容相同就合并单元格
javascript

------解决方案--------------------
既然你分了多个表格,就不是简单的单元格合并了。
而是做的像合并。
如果a ,b 两个表格相邻,
你可以把a表格的最后一个单元格,的右边框,和b表格的第一个左边框去掉,
然后两个表格之间margin为0 ,如果还没挨在一起,可是把第二的margin-left 设个负数、
最后如果要想这个单元格,的长度和其他一样,那么就a表格的最后一个单元格,b表格的第一个的长度都除以2.
保证两表格的的单元格高度一样,横向位置一样。
------解决方案--------------------
用jquery 写的 
标题用th 我合并前两列
<script type="text/javascript">
$(function(){
//合并相同内容的单元格
MergeSameTextRows('#table1');
});
  //合并相同列的单元格、
   function MergeSameTextRows(id){
    var table = $(id);
    var totalCols = table.find('tr:eq(0)').find('th:lt(3)').length;//合并前两列,可以修改
var totalRows = table.find('tr').length;
for(var i = totalCols-1;i>=1;i--){
spanNum = 1;
startCell = table.find('tr').eq(totalRows-1).find("td").eq(i);
for(var j =totalRows-1;j>=1;j-- ){
var targetCell = table.find('tr').eq(j-1).find("td").eq(i);
if(startCell.text()!=""&&startCell.text()==targetCell.text()){
spanNum++;
targetCell.attr('rowSpan',spanNum);
startCell.remove();
}else{
spanNum=1;
}
startCell = targetCell;
}
}
   
   } 
</script>  
------解决方案--------------------
做判断 是否使用 rowspan="2" 
------解决方案--------------------
<html>  

  <head>  

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  

  <title>合并表格</title>  

  <script>  

  ///////////////////////////////////////////////  

  //功能:合并表格  

  //参数:tb-需要合并的表格ID  

  //参数:colLength--需要对前几列进行合并,比如,  

  //想合并前两列,后面的数据列忽略合并,colLength应为2  

  //缺省表示对全部列合并      

  ///////////////////////////////////////////////  

  function uniteTable(tb,colLength){  

  //检查表格是否规整  

  if(!checkTable(tb)) return;  

    var i=0;  

    var j=0;  

    var rowCount=tb.rows.length; //行数