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

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

QA

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

본문


<form name="MyForm" action="" method="post">
<input type="checkbox" name="chkAll" onclick="javascript:goAllChk()" />전체선택<br />
<input type="checkbox" name="list" id="list" value="1" />C#<br />
<input type="checkbox" name="list" id="list" value="2" />Java<br />
<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>
</form>

 

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

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

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

 

 

이 질문에 댓글 쓰기 :

답변 4


<form name="MyForm" action="" method="post">
<input type="checkbox" name="chkAll" onclick="javascript:goAllChk()" />전체선택<br />
<input type="checkbox" class="clickme" name="list[]" id="list" value="1" />C#<br />
<input type="checkbox" class="clickme" name="list[]" id="list" value="2" />Java<br />
<script language="javascript">
function goAllChk(){
   var obj = document.getElementsByClassName("clickme"); 
    for(ii=0; ii < obj.length; ii++){
        obj[ii].checked = document.MyForm.chkAll.checked;
    }
}
</script>
</form>

 


 
<form name="MyForm" action="" method="post">
<input type="checkbox" name="chkAll" onclick="javascript:goAllChk()" />전체선택<br />
<input type="checkbox" name="list[]" id="list" value="1" />C#<br />
<input type="checkbox" name="list[]" id="list" value="2" />Java<br />
<script language="javascript">
  function goAllChk(){ 
    var chk = document.getElementsByName("list[]"); 
    for(ii=0;ii<obj.list.length;ii++){
      chk[i].checked = obj.chkAll.checked
    }
  }
</script>
</form>

 

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

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

 

 

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

 

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

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

 

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

답변을 작성하시기 전에 로그인 해주세요.
전체 192
QA 내용 검색

회원로그인

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