本帖最后由 qjw9004 于 2014-06-22 23:22:26 编辑

解决方案 »

  1.   

    1、你没有给出 html 代码,不能测试你的代码。你总不能让人家依你的图片,自己写个表格吧?
    与人方便,才能与己方便
    2、合并应从右段开始,即自右向左合并。因为合并后布局发生了变化,自左向右就计算困难
    你的一大堆 next() 一会长一会短,实在然人摸不着头脑。
    3、给你两个 js 的合并单元格的示例,供你参考<table id="tab1" width="200" border="1" >
     <tr><td >张三</td><td>东营</td><td>1087</td></tr>
     <tr><td >张三</td><td>东营</td><td>1082</td></tr>
     <tr><td >张三</td><td>新疆</td><td>1082</td></tr>
     <tr><td >李文</td><td>西安</td><td>1082</td></tr>
     <tr><td >高四</td><td>北京</td><td>1087</td></tr>
     <tr><td >高四</td><td>济南</td><td>1087</td></tr>
    </table>
     
    <script>
    function mergeCell(tabId) {
      var rs=document.getElementById(tabId).rows,ac,acv;
      for(var col=rs[0].cells.length-2; col>=0; col--) {
        for(var r=0;r<rs.length;r++){
          var c=rs[r].cells[col];
          if(acv!=c.innerText){
            acv=c.innerText
            ac=c;
          }else{
            ac.rowSpan=(ac.rowSpan||0)+1;
            c.parentNode.removeChild(c);
          }
        }  
      }
    }mergeCell('tab1');
    </script><table id="tab1" width="200" border="1" >
      <tr>
        <td>QTQ9-P13</td>
        <td>2013-7-22</td>
        <td>上报</td>
      </tr>
      <tr>
          
        <td>QTQ10-3</td>
        <td>2013-7-22</td>
        <td>上报</td>
      </tr>
      <tr>
        <td>QTQ10-3</td>
        <td>2013-7-22</td>
        <td>数据库</td>
      </tr>
       <tr>
        <td>QTQ10-3</td>
        <td>2013-7-22</td>
        <td>数据库</td>
      </tr>
    </table> 
    <script>
    function mergeCell(tabId) {
      var rs=document.getElementById(tabId).rows,ac,acv;
      for(var col=rs[0].cells.length-1; col>0; col--) {
        for(var r=0;r<rs.length;r++){
          var c=rs[r].cells[col-1];
          if(acv!=c.innerText){
            acv=c.innerText
            ac=c;
          }else{
            ac.rowSpan=(ac.rowSpan||0)+1;
            c.parentNode.removeChild(c);
          }
        }  
      }
    }mergeCell('tab1');
    </script>算法是一样的,只是场景不同
      

  2.   

    遗憾现在补原表的代码<table id="process">
        <tr>
            <th>
                申请编号
            </th>
            <th>
               收款人
            </th>
            <th>
                合同编号
            </th>
            <th>
                款项内容
            </th>
            <th>
                金额
            </th>
            <th>
                申请金额(合计)
            </th>
            <th>
                付款金额(总额)
            </th>
            <th>
                凭证编号
            </th>
            <th>
                付款日期
            </th>
            
        </tr>    <tr>
            <td>
                PB140623100613
            </td>
            <td>
                陕西金禹科技发展有限公司
            </td>
            <td>
                XM14-001
            </td>
            <td>
                阀门01
            </td>
            <td>
                100.00
            </td>
            <td>
                
            </td>
            <td>
                <input type="text" class="PayMent"  value="0"/>
            </td>
            <td>
                <input type="text" />
            </td>
            <td>
                <input type="text" value="0001/1/1 0:00:00" />
            </td>
        </tr>
        <tr>
            <td>
                PB140623100613
            </td>
            <td>
                陕西金禹科技发展有限公司
            </td>
            <td>
                XM14-001
            </td>
            <td>
                阀门02
            </td>
            <td>
                400.00
            </td>
            <td>
                
            </td>
            <td>
                <input type="text" class="PayMent"  value="0"/>
            </td>
            <td>
                <input type="text" />
            </td>
            <td>
                <input type="text" value="0001/1/1 0:00:00" />
            </td>
        </tr>
        <tr>
            <td>
                PB140623100613
            </td>
            <td>
                陕西金禹科技发展有限公司
            </td>
            <td>
                XM14-001
            </td>
            <td>
                阀门03
            </td>
            <td>
                450.00
            </td>
            <td>
                
            </td>
            <td>
                <input type="text" class="PayMent"  value="0"/>
            </td>
            <td>
                <input type="text" />
            </td>
            <td>
                <input type="text" value="0001/1/1 0:00:00" />
            </td>
        </tr>
        <tr>
            <td>
                PB140623100721
            </td>
            <td>
                南通亚盛风机有限公司
            </td>
            <td>
                SC14-007
            </td>
            <td>
                风売
            </td>
            <td>
                8000.00
            </td>
            <td>
                
            </td>
            <td>
                <input type="text" class="PayMent"  value="0"/>
            </td>
            <td>
                <input type="text" />
            </td>
            <td>
                <input type="text" value="0001/1/1 0:00:00" />
            </td>
        </tr>
        <tr>
            <td>
                PB140623100804
            </td>
            <td>
                山东星苑锌业科技有限公司
            </td>
            <td>
                SG14-100
            </td>
            <td>
                锌粉A
            </td>
            <td>
                1200.00
            </td>
            <td>
                
            </td>
            <td>
                <input type="text" class="PayMent"  value="0"/>
            </td>
            <td>
                <input type="text" />
            </td>
            <td>
                <input type="text" value="0001/1/1 0:00:00" />
            </td>
        </tr>
        <tr>
            <td>
                PB140623100804
            </td>
            <td>
                山东星苑锌业科技有限公司
            </td>
            <td>
                SG14-107
            </td>
            <td>
                锌粉B
            </td>
            <td>
                5000.00
            </td>
            <td>
                
            </td>
            <td>
                <input type="text" class="PayMent"  value="0"/>
            </td>
            <td>
                <input type="text" />
            </td>
            <td>
                <input type="text" value="0001/1/1 0:00:00" />
            </td>
        </tr>
        <tr>
            <td>
                PB140623100804
            </td>
            <td>
                山东星苑锌业科技有限公司
            </td>
            <td>
                
            </td>
            <td>
                锌粉C
            </td>
            <td>
                5000.00
            </td>
            <td>
                
            </td>
            <td>
                <input type="text" class="PayMent"  value="0"/>
            </td>
            <td>
                <input type="text" />
            </td>
            <td>
                <input type="text" value="0001/1/1 0:00:00" />
            </td>
        </tr>
        <tr>
            <td>
                PB140623100804
            </td>
            <td>
                山东星苑锌业科技有限公司
            </td>
            <td>
                SG14-007
            </td>
            <td>
                锌粉D
            </td>
            <td>
                45000.00
            </td>
            <td>
                
            </td>
            <td>
                <input type="text" class="PayMent"  value="0"/>
            </td>
            <td>
                <input type="text" />
            </td>
            <td>
                <input type="text" value="0001/1/1 0:00:00" />
            </td>
        </tr></table>