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

채크박스 전체선택 스크립트중에 궁금한것이 있습니다. 채택완료

그누초보님 9년 전 조회 4,288

</p><p><form name="MyForm" action="" method="post">
<input type="checkbox" name="chkAll" onclick="javascript:goAllChk()" />전체선택

<input type="checkbox" name="list" id="list" value="1" />C#

<input type="checkbox" name="list" id="list" value="2" />Java
</p><p><script language="javascript">
  function goAllChk(){
    var obj = document.MyForm;
    for(ii=0;ii<obj.list.length;ii++){
      obj.list[ii].checked=obj.chkAll.checked;
    }
  }
</script></p><p></form></p><p>

 

채크박스 전체선택 소스가 위와 같은데요

id와 name 이 다중검색 때문에 list 가 아닌 list[] 이렇게 되어있습니다.

id 나 name 값에 [] 가 있을경우 위 전체선택 해제 스크립트를 어떻게 적용시키나요?

 

 

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

답변 4개

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

</p><p><span style="font-family: "courier new";"><form name="MyForm" action="" method="post"></span></p><p><span style="font-family: "courier new";"><input type="checkbox" name="chkAll" onclick="javascript:goAllChk()" />전체선택
</span></p><p><span style="font-family: "courier new";"><input type="checkbox" </span><span style="font-size: 14.6667px; line-height: 1.5; font-family: "courier new";">class="clickme"</span><span style="font-size: 14.6667px; line-height: 1.5; font-family: "courier new";"> </span><span style="font-size: 11pt; line-height: 1.5; font-family: "courier new";">name="list[]" id="list" value="1" />C#
</span></p><p><span style="font-family: "courier new";"><input type="checkbox" </span><span style="font-size: 14.6667px; line-height: 1.5; font-family: "courier new";">class="clickme"</span><span style="font-size: 14.6667px; line-height: 1.5; font-family: "courier new";"> </span><span style="font-size: 11pt; line-height: 1.5; font-family: "courier new";">name="list</span><span style="font-family: "courier new"; font-size: 14.6667px; line-height: 1.5;">[]</span><span style="font-family: "courier new"; font-size: 11pt; line-height: 1.5;">" id="list" value="2" />Java
</span></p><p><span style="font-family: "courier new";"><script language="javascript"></span></p><p><span style="font-family: "courier new";">function goAllChk(){</span></p><p style="margin-left: 0px;"><span style="font-size: 11pt; line-height: 1.5; font-family: "courier new";"><b><span style="font-family: "courier new";">   </span></b>var obj = document.getElementsByClassName("clickme");</span><span style="font-family: "courier new";"> </span></p><p style="margin-left: 0px;"><span style="font-family: "courier new";">    for(ii=0; ii < obj.length; ii++){</span></p><p style="margin-left: 0px;"><span style="font-family: "courier new";">        obj[ii].checked = document.MyForm.chkAll.checked;</span></p><p style="margin-left: 0px;"><span style="font-family: "courier new";">    }</span></p><p><span style="font-family: "courier new";">}</span></p><p><span style="font-family: "courier new";"></script></span></p><p></form></p><div>
</div><p>

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

답변에 대한 댓글 1개

그누초보님
9년 전
글러빙님 답변 고맙습니다^^

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

9년 전

정확히 뭘 하시려는 건지는 모르겠지만 전체선택 및 해제 같은 경우 이렇게 구현합니다.

 

name이 list[] 인 것을 for문으로 돌리면서 해당 체크박스 중에 체크가 되어있지 않은 것이 1개라도 있다면 전체체크를 하시고 전체체크가 되어 있다면 체크해제를 하시면 됩니다. 체크가되어 있는지 여부는 총 체크박스 수와 체크되어 있는 수와 비교를 하시면 되겠지요~

그리고 checked 값은 true 와 false로 하시면 됩니다. document.MyForm.chkAll.checked로 하지 않으셔도 되요~

 

참고로 id속성의 이름은 document내에서 고유해야 합니다. 질문자님처럼 id="list" 이렇게 똑같은 이름을 중복해서 사용해서는 안됩니다. list1, list2 ... 처럼 순번을 매기시거나 똑같은 이름을 사용하시려면 class 속성을 사용하세요. 

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

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

복스리
9년 전

 

</p><p> </p><p><form name="MyForm" action="" method="post">
<input type="checkbox" name="chkAll" onclick="javascript:goAllChk()" />전체선택

<input type="checkbox" name="list[]" id="list" value="1" />C#

<input type="checkbox" name="list[]" id="list" value="2" />Java

<script language="javascript">
  function goAllChk(){ </p><p>    var chk = document.getElementsByName("list[]"); </p><p>    for(ii=0;ii<obj.list.length;ii++){
      chk[i].checked = obj.chkAll.checked
    }
  }
</script>
</form></p><p>

 

이런식으로 한번 해보시기 바랍니다.

list[]는 배열인데..이걸 엘레멘트로 처리해서 하면될듯합니다.

 

 

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

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

아니면 단순하게 onclick 으로 특정 class 채크박스를 checked 할수 있을까요? 

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

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

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

로그인