/*
* 전체 선택 클릭시 하위에 있는 체크박스 설정
*/
$("li.active input[name=checkbox]").click(function() {
setCheckbox('div.lnb ul li input[name=checkbox]',$(this).is(':checked'));
});
/*
* 상위체크박스 선택시 하위 체크박스 선택
*/
$("li.hasSub input[name=checkbox]").click(function() {
setCheckbox('li.sub input[name=checkbox]',$(this).is(':checked'));
});
/*
* 전체 체크박스를 제외한 모든 체크박스가 선택/해제 되었을때 전체체크박스 설정
*/
$("li:not(.active) input[name=checkbox]").click(function() {
var flag = allCheckReturn("li:not(.active) input[name=checkbox]");
setCheckbox("li.active input[name=checkbox]",flag);
});
/*
* 상위 체크박스가 하위체크박스가 전체 선택/해제 된 상태에 따라 변경
*/
$("li.sub input[name=checkbox]").click(function() {
var flag = allCheckFlagReturn("li.sub input[name=checkbox]");
setCheckbox("li.hasSub input[name=checkbox]",flag);
flag = allCheckFlagReturn("li:not(.active) input[name=checkbox]");
setCheckbox("li.active input[name=checkbox]",flag);
});
/*
*
* 체크박스 트리구조 체크
*
* 사용법 : $('#테이블 ID').colspan (0);
*
*/
allCheckFlagReturn = function(obj) {
var flag = false;
$(obj).each(function(){
if (!$(this).is(':checked')) {
flag = true;
}
});
return !flag
}
/*
*
* 체크박스 선택/해제
*
* 사용법 : $('#테이블 ID').colspan (0);
*
*/
setCheckbox = function(obj,flag) {
if (flag) {
$(obj).prop('checked',true);
}else{
$(obj).prop('checked',false);
}
}