HTML TABLE CELL AND ROW MERGE

/*
  *
  * 같은 값이 있는 열을 병합함
  *
  * 사용법 : $('#테이블 ID').rowspan(0);
  *
  */    
$.fn.rowspan = function (colIdx, isStats) {      
     return this .each( function (){     
         var that;    
         $( 'tr' , this ).each( function (row) {     
             $( 'td:eq(' +colIdx+ ')' , this ).filter( ':visible' ).each( function (col) {
                 
                 if ($( this ).html() == $(that).html()
                     && (!isStats
                             || isStats && $( this ).prev().html() == $(that).prev().html()
                             )
                     ) {           
                     rowspan = $(that).attr( "rowspan" ) || 1;
                     rowspan = Number(rowspan)+1;
 
                     $(that).attr( "rowspan" ,rowspan);
                     
                     // do your action for the colspan cell here           
                     $( this ).hide();
                     
                     //$(this).remove();
                     // do your action for the old cell here
                     
                 } else {           
                     that = this ;        
                 }         
                 
                 // set the that if not already set
                 that = (that == null ) ? this : that;     
             });    
         });   
     }); 
};
 
 
/*
  *
  * 같은 값이 있는 행을 병합함
  *
  * 사용법 : $('#테이블 ID').colspan (0);
  *
  */  
$.fn.colspan = function (rowIdx) {
     return this .each( function (){
         
         var that;
         $( 'tr' , this ).filter( ":eq(" +rowIdx+ ")" ).each( function (row) {
             $( this ).find( 'th' ).filter( ':visible' ).each( function (col) {
                 if ($( this ).html() == $(that).html()) {
                     colspan = $(that).attr( "colSpan" ) || 1;
                     colspan = Number(colspan)+1;
                     
                     $(that).attr( "colSpan" ,colspan);
                     $( this ).hide(); // .remove();
                 } else {
                     that = this ;
                 }
                 
                 // set the that if not already set
                 that = (that == null ) ? this : that;
                 
             });
         });
     });
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值