본문 바로가기

IT노트(구)/JavaScript

중복된 열을 자동으로 rowspan해주는 jQuery 소스

중복된 열을 자동으로 병합해주는(rowspan) jQuery 소스를 소개하고자 한다.

MIT에서 제작(?)한 소스인데 정말 명쾌하다!(역시 MIT이구나!)

아래 소스를 <script></script> 사이에 삽입하고

적용하려는 table에는 id(forRowspan)만 부여하면 된다!(<table id="forRowspan">와 같은 형태로)

출처 : http://jsbin.com/zagow/4/edit

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$(function(){
    $('#forRowspan').each(function() {
        var table = this;
        $.each([2,3,4/* 합칠 칸 번호 */function(c, v) {
            var tds = $('>tbody>tr>td:nth-child(' + v + ')', table).toArray(), i = 0, j = 0;
            for(j = 1; j < tds.length; j ++) {
                if(tds[i].innerHTML != tds[j].innerHTML) {
                    $(tds[i]).attr('rowspan', j - i);
                    i = j;
                    continue;
                }
                $(tds[j]).hide();
            }
            j --;
            if(tds[i].innerHTML == tds[j].innerHTML) {
                $(tds[i]).attr('rowspan', j - i + 1);
            }
        });
    });
});
cs