Develop
2014.09.23 17:27

[js] jQuery 셀 병합

Views 3488 Votes 0 Comment 1
Atachment
Attachment '2'
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

#중복된 셀을 병합해주는 js

rowspan.png



#HTML

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
  <meta charset="utf-8">
  <title>table rowspan with jQuery</title>
</head>
<body>
  <h1>원하는 row 중복데이터 셀병합</h1>
<table id="forRowspan">
  <thead>
    <tr>
      <th>제목</th>
      <th>제목</th>
      <th>제목</th>
      <th>제목</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>2</td>
      <td>3</td>
      <td>4</td>
    </tr>
    <tr>
      <td>a</td>
      <td>b</td>
      <td>c</td>
      <td>d</td>
    </tr>
    <tr>
      <td>a</td>
      <td>2</td>
      <td>3</td>
      <td>d</td>
    </tr>
    <tr>
      <td>1</td>
      <td>2</td>
      <td>c</td>
      <td>4</td>
    </tr>
    <tr>
      <td>1</td>
      <td>2</td>
      <td>c</td>
      <td>a</td>
    </tr>
  </tbody>
</table>
  <p>License : MIT (shj at xenosi.de)</p>
</body>
</html>



#CSS

#forRowspan {
  border-collapse:collapse;
  border:1px solid black;
}

#forRowspan th, #forRowspan td {
  border:1px solid gray;
}


#JS

$(function(){
	$('#forRowspan').each(function() {
		var table = this;
		$.each([2,3,4] /* 합칠 칸 번호 */, function(c, v) {
			var tds = $('>tbody>tr>td:nth-child(' + v + ')', table).toArray();
            var 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);
			}
		});
	});
});


#Output

output.png


[출처] http://jsbin.com/kurawalunobu/1/edit

?
  • ?
    ㅇㅇ 2017.10.13 22:08
    빈 공간은 제외하려면 어떻게 해야하나요?

List of Articles
No. Category Subject Author Date Views
617 Develop [js] AngularJS를 소개합니다. file hooni 2014.01.06 13014
616 Develop [php] 하루 전 날짜 쉽게 구하기. hooni 2013.12.25 12200
615 Develop [php] GregorianToJD(), JDToGregorian() 함수 내용 hooni 2013.12.25 10593
614 Develop [js] jQuery plugin 요약 hooni 2013.12.20 10700
613 Develop [css] z-index에 설정할 수 있는 최대값? hooni 2013.12.20 14705
612 Develop [js] 이벤트 전파 3단계 hooni 2013.12.18 9962
611 Develop [js] jQuery 치트 시트 hooni 2013.12.18 36253
610 Develop [js] 순환참조에 의한 메모리 누수 관련 file hooni 2013.12.17 10844
609 Develop [js] jQjuery $ 활용 hooni 2013.12.17 8874
608 Develop [js] jQuery 충돌 회피 hooni 2013.12.17 38313
607 Develop [js] 객체 머지.. hooni 2013.12.17 8963
606 Develop [js] jQuery 배열 루프(each) hooni 2013.12.17 9987
605 Develop [js] jQuery 셀랙터(selector) 요약 hooni 2013.12.17 9418
604 Develop [js] jQuery 코드 작성시 편리한 HTML 템플릿 hooni 2013.12.17 33071
603 Develop [js] Closure를 이용해 캡슐화.. hooni 2013.12.16 9594
602 Develop 이어서 작업할 내용~ secret hooni 2013.11.21 0
Board Pagination Prev 1 ... 13 14 15 16 17 ... 53 Next
/ 53