728x90
반응형
[javascript] 테이블 셀 병합 (jQuery)
/*
*
* 같은 값이 있는 열을 병합함
*
* 사용법 : $('#테이블 ID').rowspan(0);
*
*/
$.fn.rowspan = function(colIdx, isStats) {
return this.each(function(){
var that;
$('tr', this).each(function(row) {
$('td:eq('+colIdx+')', this).filter(':visible').each(function(col) {
if ($(this).html() == $(that).html()
&& (!isStats
|| isStats && $(this).prev().html() == $(that).prev().html()
)
) {
rowspan = $(that).attr("rowspan") || 1;
rowspan = Number(rowspan)+1;
$(that).attr("rowspan",rowspan);
// do your action for the colspan cell here
$(this).hide();
//$(this).remove();
// do your action for the old cell here
} else {
that = this;
}
// set the that if not already set
that = (that == null) ? this : that;
});
});
});
};
/*
*
* 같은 값이 있는 행을 병합함
*
* 사용법 : $('#테이블 ID').colspan (0);
*
*/
$.fn.colspan = function(rowIdx) {
return this.each(function(){
var that;
$('tr', this).filter(":eq("+rowIdx+")").each(function(row) {
$(this).find('th').filter(':visible').each(function(col) {
if ($(this).html() == $(that).html()) {
colspan = $(that).attr("colSpan") || 1;
colspan = Number(colspan)+1;
$(that).attr("colSpan",colspan);
$(this).hide(); // .remove();
} else {
that = this;
}
// set the that if not already set
that = (that == null) ? this : that;
});
});
});
}
출처
728x90
반응형
'Programing > Javascript, JQuery' 카테고리의 다른 글
[JavaScript] Number.MAX_SAFE_INTEGER && Number.MIN_SAFE_INTEGER (0) | 2021.05.27 |
---|---|
[JavaScript] Math 함수 정리 (1) | 2021.05.22 |
[JavaScript] 숫자 세자리마다 콤마 찍기 (0) | 2021.03.01 |
[JQuery] file rename, move 참고 blog (0) | 2021.01.13 |
[JavaScript] jsTree plugin으로 TreeView 구현 (0) | 2020.12.18 |