2013-08-05 3 views
0

나는 아주 어리석은 문제에 갇혀있다. 테이블의 루프를 사용하여 동적으로 생성하는 모든 체크 박스를 선택하려고합니다. 테이블의 머리 부분에 나는 체크 박스가 있고 머리에있는 체크 박스를 클릭 한 후 테이블의 모든 체크 박스를 선택하고 싶습니다. 내 코드는 다음과 같습니다.자바 스크립트로 onclick을 사용하여 체크 박스를 선택 하시겠습니까?

<table> 
     <thead> 
     <tr> 
     <th class="spacer_100 align_ctr tooltip_trigger"> 
     Change Status <input type="checkbox" name="sample" onclick="selectAll()"> 
     </th> 
     </tr> 
     </thead> 
     <tbody> 

      <?php foreach ($users as $user) { ?> 
      <tr> 
      <td class="align_ctr" style="text-align: center"> 
      <input type="checkbox" name="current_status[]" value="1"/> 
      </td> 
      </tr> 
      <?php } ?> 
     </tbody> 
    </table> 

가 여기에 자바 스크립트 코드 :이 코드에 어떤 문제가 있는지 모르는

function selectAll() { 
     var checkboxes = document.getElementsByTagName("input"); 
     for(var i=1; i<checkboxes.length;i++) { 
     if (checkboxes[i].type == 'checkbox') { 
     checkboxes[i].checked = 'true'; 
     } 
     } 
    } 

, 나는 체크 박스를 선택 할 수 없습니다입니다.

감사

+0

Change Status <input type="checkbox" name="sample" onclick="selectAll(this)"> 

및 다음 [나를 위해 작동합니다. (http://jsfiddle.net/bG3mm/) 그런데 – icktoofay

+0

, 어디 foreach는 종료 태그의 ''? – Raymond

+0

실제 코드에서 foreach의 닫는 괄호를 사용하고 있습니다. 위 코드에 넣어 두었습니다. 그러나 모든 확인란이 선택되지 않은 이유는 아직 확실하지 않습니다. – user2651516

답변

0

가 잘 작동하지만 코드 :

var checkboxes = document.getElementsByTagName("input"); 

뿐만 아니라 주요 체크 박스를 선택하고, 일을 시도 :

var checkboxes = document.getElementsByTagName("input"); 
for(var i=0; i<checkboxes.length;i++) { //start from 0 
    if (checkboxes[i].type == 'checkbox' && checkboxes[i].name == 'current_status[]') { 
     checkboxes[i].checked = 'true'; 
    } 
} 
+0

덧글 주셔서 고맙지 만 여전히 작동하지 않습니다 : ( – user2651516

0

방법에 대해이 코드를 시도?

변경 기능

function SelectAll(CheckBoxControl){ 
    var i; 
    for (i=0; i < document.forms[0].elements.length; i++){ 
     if ((document.forms[0].elements[i].type == 'checkbox') && 
     (document.forms[0].elements[i].name.indexOf('current_status[]') > -1)){ 
     document.forms[0].elements[i].checked = CheckBoxControl.checked; 
     } 
    } 
} 
+0

아니, 자바 스크립트 함수에서 중단 점을 사용하여 체크, 모든 것을 제대로 호출하고 있지만 여전히 확인란이 선택 표시되지 않습니다. 이 프로그램을 실행 한 후에 선택을하기 위해이 체크 박스를 두 번 클릭해야하기 때문에 선택한 것으로 표시되지 않습니다. – user2651516

+0

죄송합니다. 원하시는 것을 이해하지 못합니다. – Raymond

관련 문제