diff --git a/src/main/webapp/WEB-INF/views/map/left/mapLeft.jsp b/src/main/webapp/WEB-INF/views/map/left/mapLeft.jsp
index 425010e1..536d50af 100644
--- a/src/main/webapp/WEB-INF/views/map/left/mapLeft.jsp
+++ b/src/main/webapp/WEB-INF/views/map/left/mapLeft.jsp
@@ -1372,14 +1372,15 @@ function table3display(){
}
-
+
+
지도구분
-
- 운송교통시설
+ 운송교통시설
-
- 계획구역 및 토지정비
+ 계획구역 및 토지정비
-
- 공공건축시설
+ 공공건축시설
-
- 주거 및 상업시설
+ 주거 및 상업시설
-
- 보건,휴식,종교시설
+ 보건,휴식,종교시설
-
- 수자원 및 환경처리시설
+ 수자원 및 환경처리시설
-
- 자원공급시설
+ 자원공급시설
-
- 지반조사
+ 지반조사
-
diff --git a/src/main/webapp/js/map/main/map.js b/src/main/webapp/js/map/main/map.js
index ce9f0ee8..f73f13dd 100644
--- a/src/main/webapp/js/map/main/map.js
+++ b/src/main/webapp/js/map/main/map.js
@@ -389,10 +389,12 @@ function hole_layerOnOff() {
* 지도구분을 클릭하면 CALS 분류를 전체 해제 또는 전체 선택한다.
* @returns
*/
-function forceUncheckHoleLayerOnOff() {
+function forceUncheckHoleLayerOnOff(ele) {
//thkim
var eleId = "map-label-cals";
var toggleClass = "active";
+ var chkTF = $(ele).prop('checked'); // checked 여부 true/false
+ $('input[name="toggleChk"]').prop('checked', chkTF);
var targetBtn = document.getElementById(eleId);
var returnValue = null;
@@ -448,6 +450,34 @@ function forceUncheckHoleLayerOnOff() {
}
+/**
+ * 지도구분 분류를 클릭하면 하위분류 체크박스를 전체 해제 또는 전체 선택한다.
+ * $(this) : 분류타이틀에 체크박스
+ * $(this).closest('li').find('> ul > li > input:checkbox') : 하위분류 체크박스들
+ * @returns
+ */
+$(document).on('click', '.map-division-contents .toggleChk', function() {
+ let chkTF = $(this).prop('checked'); // checked 여부 true/false
+ $(this).closest('li').find('> ul > li > input:checkbox, > ul > li > input:radio').prop('checked', chkTF)
+})
+
+/**
+ * 지도구분(CALS)분류 하위 분류 체크박스 클릭 이벤트
+ * 하위 분류가 모두 선택되면 전체 선택/해제 체크박스 선택
+ * @returns
+ */
+$(document).on('click', '.map-division-contents > ul > li > ul > li input:checkbox', function() {
+ let inputCnt = $(this).closest('ul').find('input[id^="hole"]').length;
+ let checkedCnt = $(this).closest('ul').find('input[id^="hole"]:checked').length;
+
+ if (checkedCnt < inputCnt) { //
+ $(this).closest('ul').closest('li').find('.toggleChk').prop("checked", false);
+ } else {
+ $(this).closest('ul').closest('li').find('.toggleChk').prop("checked", true)
+ }
+})
+
+
/**
* 좌측 side bar를 숨긴다.
* @returns