채택완료

체크박스에 체크한 항목 DIV 나오게

2024-01-28 (일) 21:46:48 2,224

안녕하세요. 고수님들

도움 부탁드립니다.

게시글 작성시 아래와 같이 스크립트를 써서 체크한 항목에 해당하는 DIV 가 나타나서 그것을 작성하여 글쓰기 완료를 하면 조회화면에서 잘 나타납니다.

문제는 수정 화면에서 글쓰기 할 때 체크한 항목들이 나타나지 않습니다.

수정화면에서 체크박스를 풀면 해당 항목이 나타납니다. 아마도 토글때문에 그런것 같습니다.

어떤 처리를 해야 할지 모르겠어서 문의 남깁니다. 부탁드립니다.

Copy
<SCRIPT>
        function toggleShow (checkbox) {
            var id = 'subCats' + checkbox.id;
            var subCats =
            document.all ? document.all[id] :
            document.getElementById ? document.getElementById(id) :
            null;
            if (subCats) {
                if (subCats.style.display == '' ||
                    subCats.style.display == 'none') 
                    subCats.style.display = 'block';
                else
                    subCats.style.display = 'none';
            }
        } 
    </SCRIPT>

<div ID="subCats0" class="subCats" style="display:none;">

관련 항목1

</div>

<div ID="subCats1" class="subCats" style="display:none;">

관련 항목2

</div>

<div ID="subCats2" class="subCats" style="display:none;">

관련 항목3

</div>
|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

안녕하세요.

아래의 코드로 수정해서 체크를 해보시겠어요~

<script>
    window.onload = function() {
        var checkboxes = document.querySelectorAll('input[type="checkbox"]');
        for (var i = 0; i < checkboxes.length; i++) {
            toggleShow(checkboxes[i]);
        }
    }

    function toggleShow (checkbox) {
        var id = 'subCats' + checkbox.id;
        var subCats = document.getElementById(id);
        if (subCats) {
            if (checkbox.checked) {
                subCats.style.display = 'block';
            } else {
                subCats.style.display = 'none';
            }
        }
    }
</script>
 

답변에 대한 댓글 1개

대단히 감사합니다. 열심히 배우겠습니다. 즐거운 하루 보내세요.

답변을 작성하려면 로그인이 필요합니다.