제목 | jquery를 이용한 자동 table rowspan 적용 스크립트입니다. | ||
---|---|---|---|
글쓴이 | kirrie | 작성시각 | 2009/06/27 14:22:05 |
|
|||
/** * jquery를 이용한 자동 table rowspanning * * @author 이주헌 * @param object jquery $함수를 이용해서 리턴된 테이블 오브젝트 * @param int rowspan을 적용할 td element의 인덱스 * @return void */ function tableRowSpanning(Table, spanning_row_index) { var RowspanTd = false; var RowspanText = false; var RowspanCount = 0; var Rows = $('tbody tr', Table); $.each(Rows, function() { var This = $('td', this)[spanning_row_index]; var text = $(This).text(); if(RowspanTd == false) { RowspanTd = This; RowspanText = text; RowspanCount = 1; } else if(RowspanText != text) { $(RowspanTd) .attr('rowSpan', RowspanCount); RowspanTd = This; RowspanText = text; RowspanCount = 1; } else { $(This) .remove(); RowspanCount++; } }); // 반복 종료 후 마지막 rowspan 적용 $(RowspanTd) .attr('rowSpan', RowspanCount); } ---> php로 테이블의 rowspan을 일일이 계산하는건 정말 큰 일이죠. 그냥 그 일을 웹브라우져에 맡겨버리면 편하겠지요? 묻지도 따지지도 않고 rowspan을 계산해서 적용해줍니다. 사용법은 아래와 같습니다. tableRowSpanning($('table#timetable'), 0); 적당한 위치에 넣어주면 (적당한 위치라 함은 onload 이벤트가 발생한 시점, 즉 html이 모두 파싱되어 로딩된 뒤를 의미합니다.), 자동으로 모든 row가운데 첫번째 td의 내부 text값을 가지고 비교하여 rowspan을 걸어줍니다. 여러개도 사용이 가능한데 이때에는 반드시 인덱스가 큰 값부터 먼저 적용해야 합니다. (rowspan을 걸면서 spanning된 td를 삭제하기 때문에 인덱스가 달라집니다.) tableRowSpanning($('table#timetable'), 1); tableRowSpanning($('table#timetable'), 0); 이렇게 하면 두번째 인덱스 먼저 rowspan을 걸고 그 다음에 첫번째 인덱스의 rowspan을 처리합니다. 집 근처에 cgv 영화관이 있어서 가끔 영화를 보는데, 영화 시간표를 cgv 홈페이지에서 보려고 하면 플래쉬 떡칠에 속도도 무쟈게 느려서 따로 시간표 xml을 훔쳐(?) 온 다음에 파싱하는 작업을 하다가 만들었습니다. 어제 모임때 웅파형님께서 '이미 필요한건 다 구글에 있다!'는 말씀을 듣고 찾아봤더니 정말 jquery를 이용한 동일한 함수를 누가 먼저 만들어 놨더군요. 그런데 뭐가 문제인지 제대로 동작하지 않아서 그냥 새로 만들었습니다. 라이센스는 ![]() 이주헌에 의해 창작된 tableRowSpanning 은(는) 크리에이티브 커먼즈 저작자표시-동일조건변경허락 2.0 대한민국 라이선스에 따라 이용할 수 있습니다. day.pe.kr의 저작물에 기초입니다. # cgv 영화 시간표 주소는 http://mixnut.co.kr/apps/cgv 입니다. 전국 cgv 다 지원하고 날짜별로도 볼 수 있으니까 필요하신분들은 북마크 해놓고 쓰세요. ^^ |
|||
다음글 | [잡담] 컨트롤러의 분리. (2) | ||
이전글 | 드디어 관리자 페이지'만' 끝. (6) | ||
포럼운영자
/
2009/06/28 08:26:22 /
추천
0
죽이는군 !! 꼭 필요했던거야 . 자네도 영화 좋아하나보구먼 .
|
변종원(웅파)
/
2009/06/27 20:53:08 /
추천
0
이거 좋네.
써먹어야지. ^^ |
이멀렉
/
2009/06/29 10:35:32 /
추천
0
움찔! 쌔끈한 기능인가요?!
|
kirrie
/
2009/06/29 22:13:04 /
추천
0
쌔끈하다기보다는 골치아픈 작업을 자바스크립트가 대신 해준다는.. 정도의 의미 ㅎㅎ
|
이멀렉
/
2009/06/30 15:39:11 /
추천
0
카...카피엔 페이스트 신공으로 잘 쓸겠습니다.
|