체크박스 관련 질문입니다.

체크박스 관련 질문입니다.

QA

체크박스 관련 질문입니다.

본문

체크 박스가 

 

선택여부에 따라 

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

 

[  ] 체크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

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

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


<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(function () {
  var btn = $('#write_btn');
  var chks = $('.wrap input[type="checkbox"]');
  var chk_checked = 0;
  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);
    }
  }
  chks.click(fn_chk_trigger);
});
</script>
<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>

<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>
답변을 작성하시기 전에 로그인 해주세요.
전체 176
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT