채택완료

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

2020-03-24 (화) 20:15:11 1,979

체크박스 name 값이 type4[] 부터 type13[]  까지가 있는데요

다 따로 필수체크 해버리면 안되고 type4[] 부터 type13[]  중에서 필수체크를 할려고 하거든요

아래 소스는 예로 type4[] 만 체크하는건데 type4[] 부터 type13[] 까지 하나는 무조건 체크하라는 조건문이 필요해보이는데 for 으로 하는건지요..

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

위에 설명 처럼 되게 할려면 어떻게 해야 되는걸까요?

|

답변 3개

채택된 답변
+20 포인트
2020-03-24 (화) 20:43:12

필수 체크 해야하는 체크박스에 class 를 하나주시고

$(".클래스").each( function () {

으로 하시면 되지 않을까요? 간단하게 생각나는 방법이네요

체크박스 name 값이 type4[] 부터 type13[]  까지가 있는데요<---무언가 설계가 잘못 되었지 않나요?

체크박스가 각각 이름이 다른데 배열로 한 이유가 무었인가요?

<input type='checkbox' name='type4[]' value='4' class='chk'>

<input type='checkbox' name='type5[]' value='5' class='chk'>

위와 같다면 name을 배열형식으로 할 이유가 없습니다

type4[]<--이것은 type4[] 라는 이름이 여러개 일때 사용하는 것입니다

---------------------------

체크된 갯수는 위와 같이 class를 주면 아주 간단합니다

$('.chk:checked').length

Copy
for (var i=4; i <= 13; i++) {

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

}

와 같이 해보세요

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