2013-04-20 1 views
-1

첫 번째 클릭시 모든 체크 박스를 확인하는 스크립트를 작성했습니다. HTML에서 onClick 이벤트를 사용할 때 완벽하게 작동하지만 onClick 이벤트를 사용하지 않으려 고 할 때 작동하지 않습니다. 여기 Javascript가 모든 체크 박스를 선택하지 않는 이유는 무엇입니까?

는 HTML 코드입니다 :

<table> 

<tr> 
    <td><input id="check-all" type="checkbox"/> 
</tr> 

<tr> 
    <td><input id="check1" type="checkbox" name="check"/> 
</tr> 

<tr> 
    <td ><input id="check2" type="checkbox" name="check"/> 
</tr> 

<tr> 
    <td><input id="check3" type="checkbox" name="check"/> 
</tr> 

그리고 이것은 내가 실행 트링있어 자바 스크립트 코드,하지만 작동하지 않습니다.

var checkbox = document.getElementById("check-all"); 

checkbox.onclick = function() { 
    checkboxes = document.getElementsByName('check'); 
    for(var i=0, n=checkboxes.length;i<n;i++) { 
    checkboxes[i].checked = source.checked; 
    } 
} 

저는 방금 Javascript를 시작했습니다. 내가 잘못했을 수도 있습니다. 지적 해주십시오.

+0

의 무효와 잘못 사용하는 것입니다? 나는 그것이 checkbox.checked되어야한다고 생각한다. –

답변

2

난 당신이 정의되지 않은 변수가 있다고 생각 :

당신은 '체크 모든', 예를 들어, 확인 된 값을 얻을 수있는 값으로 어디서나 정의되지 않은 '소스'를 교체해야
var checkbox = document.getElementById("check-all"); 

checkbox.onclick = function() { 
    checkboxes = document.getElementsByName('check'); 
    for(var i=0, n=checkboxes.length;i<n;i++) { 
    checkboxes[i].checked = this.checked; 
    } 
} 

이.

+0

아, 고마워. 예, 이것이 나의 솜씨였습니다. 나는 그 "근원"을 인식하지 못했습니다. 도움 친구를 보내 주셔서 감사합니다. :) –

+0

걱정할 필요가 없습니다. 행복이라면이 질문에 대답하십시오. 사람들이 답변을 메인 목록에서 볼 수 있도록 표시 할 것입니다. – Paddy

0

귀하의 source.checked는 source.checked 무엇

this.checked 

대신

source.checked 
관련 문제