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

체크박스 필수입력 채택완료

망이망소이 5년 전 조회 4,103

name값이 다 다른 체크박스들이 있습니다. 

이중에 1개 이상을 체크하게끔 

필수입력 처리를 아래처럼 했는데

안되네요.

뭐가 잘못된걸까요?

</p>

<p><input type="checkbox" name="wr1[0]" value="치킨" <?php echo ($wr1[0] == "치킨") ? "checked" : "";?>> 치킨

<input type="checkbox" name="wr1[1]" value="피자" <?php echo ($wr1[1] == "피자") ? "checked" : "";?>> 피자

<input type="checkbox" name="wr1[2]" value="족발" <?php echo ($wr1[2] == "족발") ? "checked" : "";?>> 족발</p>

<p> </p>

<p> </p>

<p><script>

var flag = false; 

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

        if (this.checked) { 

            flag = !flag;  

            return false; 

        } 

    }); 

    if (!flag) { 

        alert("최소 1개 이상 체크해주세요."); 

        return false; 

    }

</script></p>

<p> </p>

<p>

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

답변 3개

채택된 답변
+20 포인트
5년 전

$("input[name*=wr1]")  의미가 attribute name = wr1* 이라는 의미 같습니다.

 

차라리 class="input_food"를 넣고 input에 대한 class로 해 보시는 것이 (jquery는 잘 몰라서 개념으로만)

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

답변에 대한 댓글 2개

망이망소이
5년 전
음 클래스값을 wr1으로 주고 getElementsByClassName 다시해봤는데 이래도 안되고 아.. ㅠㅠ
[code]
var arr_form = document.getElementsByClassName('wr1');
var num = 0;
for(var i=0; i<arr_form.length; i++){
if(arr_form[i].checked){
num++;
}
}
if(!num){
alert('하나이상 선택해주시기 바랍니다');
location.href='#wr1';
return false;
}
[/code]
망이망소이
5년 전
id=wr1을 모두 주고 아래와 같이 jquery로 해결했습니다.^^ 

[code]

<script>
if ($("input:checkbox[id='wr1']").is(":checked") == false){
    $("input:checkbox[id='wr1']").prop("required", true);
}

$("input:checkbox[id='wr1']").click(function() {
    $("input:checkbox[id='wr1']").prop("required", false);
});
</script>

[/code]

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

G
5년 전
<div class="checkbox-group required">
    <input type="checkbox" name="checkbox_name[]">
    <input type="checkbox" name="checkbox_name[]">
    <input type="checkbox" name="checkbox_name[]">
    <input type="checkbox" name="checkbox_name[]">
</div></code></pre>

<p><code>$('div.checkbox-group.required :checkbox:checked').length > 0</code></p>

<p><code>

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

답변에 대한 댓글 1개

망이망소이
5년 전
감사합니다. 사정상 name값을 만지기는 어려워서요. 감사합니다.^^

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

5년 전
input[name*=wr1  여기서 ]가 안닫혀있네요
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
5년 전
^^;;; ㅋ. 근데 마찬가지로 안됩니다.

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

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

로그인