체크박스 최소 한 개 필수 선택

체크박스 최소 한 개 필수 선택

QA

체크박스 최소 한 개 필수 선택

본문

체크박스 여러 개 중 최소 하나를 필수 선택하게 하고 싶습니다.


현재 write.skin.php에 이렇게 되어 있습니다.


    <?php $wr1 = explode("|", $write['wr_1']);?>
     <label><input type=checkbox name=wr1[] value="채송화" <?=$write[wr_1]?>> 채송화</label>
     <label><input type=checkbox name=wr1[] value="해바라기" <?=$write[wr_1]?>> 해바라기</label>
     <label><input type=checkbox name=wr1[] value="민들레" <?=$write[wr_1]?>> 민들레</label>

     <label><input type=checkbox name=wr1[] value="튤립" <?=$write[wr_1]?>> 튤립</label>


다중 선택이 가능하며 출력된 만큼 view페이지에서 볼 수 있는 상태입니다. (여기까진 확인 완료)


여기서 최소 1개 이상 선택을 하지 않으면 글작성이 안되고 알림창이 뜨도록 하려는데


function fwrite_submit(f) {

  if (form.wr1.checked == false) {
   alert("종류는 하나 이상 체크해주세요.");
   return false;
  }

}


다른 팁들 참고해서 이렇게 적었는데....

체크항목 미선택시 알림창이 안 뜨고 view 페이지엔 빈칸으로 출력되네요 ㅠ

어떻게 수정해야할까요?

이 질문에 댓글 쓰기 :

답변 1

    var flag = false; 

    $("input[name='wr1[]']").each( function () {

        if (this.checked) { 

            flag = !flag;  

            return; 

        }

    });


    if (!flag) {

        alert("종류는 하나 이상 체크해주세요.");

        return false;

    }


아 ㅠㅠ 근데 문제가 하나 있네요.

이렇게 하니까 다중선택이 가능하던게 적용이 안 됩니다.
여러 개를 택해도 하나 이상을 선택해달라는 알림창이 뜹니다.
무조건 항목을 하나만 선택할 수 있게 되어버리는데.... 이건 어떻게 해야할까요? ㅜㅜ

var flag = false;
    $("input[name='wr1[]']").each( function () {
        if (this.checked) {
            flag = !flag; 
            return false;
        }
    });

    if (!flag) {
        alert("종류는 하나 이상 체크해주세요.");
        return false;
    }

답변을 작성하시기 전에 로그인 해주세요.
전체 5

회원로그인

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