테스트 사이트 - 개발 중인 베타 버전입니다

체크박스 관련 질문입니다. 채택완료

sukja 2년 전 조회 1,256

체크 박스가 

 

선택여부에 따라 

다음 버튼을 비활성화  또는 활성화 할려고 합니다.

 

[  ] 체크1

[  ] 체크2

[  ] 체크3

[  ] 체크4

[  ] 체크5

 

[    이전      ] [       다음        ]

 

최초에는 다음 버튼이 비활성화 됩니다.

체크된 부분을 1개라도 있으면 다음버튼이 활성화 됩니다.

 

그런데, 문제는 전체가 해제 되었을때 

버튼이 해제가 되어야 합니다.

 

// 다음버튼

const write_btn = document.getElementById('btn_submit');

 

// 체크여부

var chk = $(this)[0].checked;

 

if (chk == true) {

     write_btn.disabled = false;  // 활성화

} else {

     write_btn.disabled = true; // 비활성화

 

}

 

조언 구합니다.

 

 

 

 

 

 

 

 

 

 

 

 

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

답변 3개

채택된 답변
+20 포인트
플라이
2년 전

체크박스 개수만큼 크기를 보고 자바스크립트에서 for문으로 개수크기만 큼 확인해서 체크된게 있다면

chk_cnt값을 증가해서 체크개수를 체크해서 처리하시면 되실듯 합니다.

로그인 후 평가할 수 있습니다

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

F
2년 전

</p>

<p><div class="checkbox-wrap">

    <input type="checkbox" name="" id="" />

    <input type="checkbox" name="" id="" />

    <input type="checkbox" name="" id="" />

    <input type="checkbox" name="" id="" />

    <input type="checkbox" name="" id="" />

    <input type="checkbox" name="" id="" />

    <input type="checkbox" name="" id="" />

</div>

<a href="#">이전</a>

<input type="submit" value="다음" id="btn_submit" disabled="disabled" />

<script>

$(function(){

    $(".checkbox-wrap input[type='checkbox']").click(function(){

        $("#btn_submit").prop("disabled", $(".checkbox-wrap input[type='checkbox']:checked").length ? 0 : 1);

    });

});

</script></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sukja
2년 전
감사합니다. ^^~

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

2년 전

</p>

<p><script src="<a href="http://code.jquery.com/jquery-latest.min.js"></script>" target="_blank" rel="noopener noreferrer">http://code.jquery.com/jquery-latest.min.js"></script></a>

<script>

$(function () {

  var btn = $('#write_btn');

  var chks = $('.wrap input[type="checkbox"]');

  var chk_checked = 0;</p>

<p>  function fn_chk_trigger(evt) {

    var el = evt.target;

    if ($(el).is(':checked') == true) {

      chk_checked++;

    } else {

      chk_checked--;

    }

    

    if (chk_checked == 0) {

      btn.attr('disabled', true);

    } else {

      btn.attr('disabled', false);

    }

  }</p>

<p>  chks.click(fn_chk_trigger);

});

</script></p>

<p><ul class="wrap">

  <li><label><input type="checkbox" id="chk_00" /> 체크1</label></li>

  <li><label><input type="checkbox" id="chk_01" /> 체크2</label></li>

  <li><label><input type="checkbox" id="chk_02" /> 체크3</label></li>

  <li><label><input type="checkbox" id="chk_03" /> 체크4</label></li>

  <li><label><input type="checkbox" id="chk_04" /> 체크5</label></li>

  <li>

    <button type="button" id="prev_btn">이전</button>

    <button type="button" id="write_btn" disabled="disabled">다음</button>

  </li>

</ul></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sukja
2년 전
감사합니다. ^^~

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

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

로그인