http://lng1982.tistory.com/83 이곳 소스에다가 필요없는 데이터 가리는 것 추가했다.
음.. 그러니까 데이터를 받아서 뿌려야 하는데..
빨간칸처럼 빈값이 같이 넘어와서 머지할 수 있는 규칙을 제대로 찾을 수 없었다.
음.. 머지는 이렇게 함.
$(document).ready(function() {
// cell merge
mergeCell("educationTable"); // educationTable테이블명
});
//cell merge
function mergeCell(tableId) {
// variable 정의
var first = true;
var prevRowspan1 = 1;
var prevCell1 = null;
var prevRowspan2 = 1;
var prevCell2 = null;
// tr 모두 추출
var rows = $("#" + tableId + " > tbody").children();
for (var i = 0; i < rows.length; i++ ) {
// first row
if (first) {
prevRow = rows[i];
prevCell1 = $(prevRow).find("td").eq(0); // 년도
prevCell2 = $(prevRow).find("td").eq(1); // 1
first = false;
continue;
}
var row = rows[i]; // row
var tdList = $(row).find("td"); // row > td 리스트
var firstCell = $(tdList).eq(0); // 첫 번째 행
var secondCell = $(tdList).eq(1); // 두 번째 행
var firstCellText = $(firstCell).text(); // 첫 번째 행 text 추출
var secondCellText = $(secondCell).text(); // 두 번째 행 text 추출
// 두 번째 row 부터 텍스트 비교
if (prevCell1.text() == firstCellText) {
if (prevCell2.text() == secondCellText) { // 점수 값 비교
prevRowspan2++; // 중복되는 값이 있으므로 rowspan +1
$(prevCell2).attr("rowspan", prevRowspan2); // 첫 번째 row의 두 번째 cell에 rowspan 추가 (점수)
$(secondCell).remove(); // 중복 cell element 삭제
} else {
prevRowspan2 = 1;
prevCell2 = secondCell;
}
prevRowspan1++;
$(prevCell1).attr("rowspan", prevRowspan1);
$(firstCell).remove();
}
else {
//년도
prevRowspan1 = 1;
prevRowspan2 = 1;
prevCell1 = firstCell;
prevCell2 = secondCell;
}
}
}
<tbody>
<c:choose>
<c:when test="${!empty result}">
<c:forEach var="data" items="${result}">
<c:set var="total" value="${data.total}"/>
<c:choose>
<c:when test="${fn:substring(total,2,3) != '|' && empty fn:replace(data.date,'[]','')}">
<tr>
<td >1열의 데이터</td>
<td >2열의 데이터</td>
</tr>
</c:when>
<c:otherwise>
<tr>
<td >년도의 데이터</td>
<td >1열의 데이터</td>
<td>2열의 데이터</td>
<td>3열의 데이터</td>
<td>4열의 데이터</td>
<td>5열의 데이터</td>
<td>6열의 데이터</td>
</tr>
</c:otherwise>
</c:choose>
.......
</tbody>
'차근차근 > JAVA Script' 카테고리의 다른 글
jQuery v2.1.4 , ie8 , addEventListener (0) | 2015.08.21 |
---|---|
nav , ie8 (0) | 2015.08.21 |
jQuery를 이용한 테이블 셀병합 (0) | 2015.06.08 |
js로그 콘솔에 찍는 방법 (0) | 2015.06.08 |
자바스크립트 셀렉트박스 선택하기 (0) | 2015.06.08 |