본문 바로가기
IT 자료

javascript cell merge (개발중....)

by 성곤 2017. 6. 20.
반응형



개발완료 : http://toyuq.tistory.com/251





현재 개발중..... 123123123


현재는 테이블의 1개의 컬럼만 셀머지가 가능하다.  (제이쿼리 필요)




fn_cellMerge("gridExample2", "0");




function fn_cellMerge(vid, vcol, vtd){ //테이블 아이디, 셀머지할 컬럼 0부터~, td 태그
   
   
   
    var id = vid;
    var col = vcol;
    var td = ((!!vtd) ? vtd : "td"  );
   
    var rowSpanCnt = 1;
    var preText; //이전 텍스트
    var rowSelect = []; // span할 row
    var rowSpan = []; //rowSpan
   
    var td_length = $("table[id="+id+"] tr").find(td+":eq("+col+")").length;

   
   
   
    if(td_length > 1){
       
        $("table[id="+id+"] tr").find(td+":eq("+col+")").each(function(index, item){
           
            if(index == 0) { //첫번째 row
               
                rowSelect.push(0);
                rowSpanCnt = 1;
           
            }else if(preText != $(this).text()){ //텍스트가 바뀔때 index
               
                rowSelect.push(index);
                rowSpan.push(rowSpanCnt);
                rowSpanCnt = 1;
           
            }else if(td_length == (index+1)){
               
                rowSpanCnt = rowSpanCnt+1;
                rowSpan.push(rowSpanCnt);
               
            }else{
               
                rowSpanCnt = rowSpanCnt+1;
            }
            preText = $(this).text();
        });
    }else{
        return false;
    }

   
    $("table[id="+id+"] tr").find(td+":eq("+col+")").each(function(index, item){
       
        if(rowSelect[0] == index){
           
            $(this).attr("rowspan",rowSpan[0]);
           
            rowSelect.shift();
            rowSpan.shift();
           
        }else{
           
            $(this).remove();
        }
    });
}

반응형

'IT 자료' 카테고리의 다른 글

javascript 배열 재구성  (0) 2017.07.06
ajax 오류 메시지 처리  (0) 2017.07.04
jquery 라디오 버튼 값 가져오기  (0) 2017.06.09
spring VO 출력하기  (0) 2017.06.07
json foreach로 출력하기  (0) 2017.05.22