카테고리 없음
체크박스
bright jazz music
2022. 3. 18. 13:09
제이쿼리
$( function() {
//테이블 이름이 파일마다 달라질 수 있으므로 jsp파일 내에 위치하는 것을 고려
// 전체체크박스 선택시 전체 선택 및 해제 //#는 id, .는 클래스(동작하지 않는다면 로직으르 먼저 확인하고 이상 없으면 #, . 등이 빠졌는지 먼저 확인)
$('#checkAll').click(function(){ //id가 checkAll인 태그가 체크 되었는지 확인. boolean. true또는 false 반환
if($('#checkAll').is(':checked')){ //만약 체크 되어 있다면 class가 .rowCheck인 태그의 checked를 true로 설정
$('.rowChk').prop('checked', true);
}else{
$('.rowChk').prop('checked', false); //체크되어 있지 않다면 class가 .rowCheck인 태그의 checked를 false로 설정
}
});
// 체크박스가 전체 체크되었을 경우 전체체크박스 선택 및 해제
$('.rowChk').each(function(){
$(this).on('click', function(){ // on() 메소드는 주체가 되는 부모속성의 이벤트를 물려받아서 지정 선택자에게 이벤트를 연결할 수 있다. this는 현재 객체
if($('#empListTableBody tr').length != $('.rowChk:checked').length){ //테이블 body의 tr개수와 체크된 개별 행의 개수가 다르다면 (*테이블 이름 주의. #또는 .를 빼먹지 않았는지 주의)
$('#checkAll').prop('checked', false); // 전체체크의 checked를 false로 함으로서 전체 체크 해제
}else{
$('#checkAll').prop('checked', true); //테이블 바디의 tr 개수와 체크된 개별 해의 개수가 같다면 전체체크의 checked를 true로 함.
}
});
});
});