// 테이블 셀 병합
function mergeTable(target, index) {
var loop = null;
var start_idx = 0; //최초 td테그의 인덱스를 담을 변수 입니다.
var add_num = 1; //마지막 td 테그의 인덱스를 담을 변수 입니다.
$(target).find('tr').each(function (idx) {
var target_text = $(this).find('td').eq(index).text();
if (!loop) { //최초 동작이면
loop = target_text;
start_idx = idx;
} else if (target_text == loop) { //같은 열이 발견된 것 이라면
add_num++;
//같은열이긴 한데 근데 마지막이면
if (idx == $(target).find('tr').length - 1) {
$(target).find('tr').eq(start_idx).find('td').eq(index).attr("rowSpan", add_num).css('vertical-align', 'middle');
for (var i = start_idx + 1; i < start_idx + add_num; i++) {
$(target).find('tr').eq(i).find('td').eq(index).remove();
}
}
} else { //다른 텍스트가 발견된 것 이라면
if (add_num != 1) { //머지가 필요한 경우라면
$(target).find('tr').eq(start_idx).find('td').eq(index).attr("rowSpan", add_num).css('vertical-align', 'middle');
for (var i = start_idx + 1; i < start_idx + add_num; i++) {
$(target).find('tr').eq(i).find('td').eq(index).remove();
}
}
start_idx = idx;
loop = target_text;
add_num = 1;
}
});
}
mergeTable('#id값', 왼쪽부터 인덱스(0부터시작));
ex) mergeTable('#eqpmnInputTab11', 0);
'Language > JavaScript' 카테고리의 다른 글
checkbox 버튼 해제 onclick 이벤트 (0) | 2022.09.30 |
---|---|
db에서 조회한 리스트 콤보박스 option 삽입 생성 (0) | 2022.09.28 |
checkbox 체크 여부 확인 및 체크 on,off (JQuery) (0) | 2022.09.25 |
문자열 안에 특정 문자가 포함 되어있는지 확인 (JQuery) (0) | 2022.09.24 |
날짜(date) 차이 시: 분 : 초 값 구하기 함수 (0) | 2022.09.22 |