2013-07-13 8 views
0

나는 아래의 코드와 함께 도움이 필요 :배열을 자바 스크립트에서 함수로 가져 오는 방법은 무엇입니까?

<script type="text/javascript"> 
     var opcao = new Array (
      document.getElementById("cred_form_1864_1_wpcf-pde_Pesquisas_descontinuadas"), 
      document.getElementById("cred_form_1864_1_wpcf-pnps_Pesquisas_nao_patenteaveis-sigilosas") 
     ); 

     function check1(){ 
      if (opcao[0].checked == true){ 
       for (var i = 0; i < opcao.length; i++){ 
        if (i != 0){ 
         opcao[i].checked = false; 
         opcao[i].disabled = true; 
        } 
       } 
      } 
     } 

     function check2(){ 
      if (opcao[1].checked == true){ 
       for (var i = 0; i < opcao.length; i++){ 
        if (i != 1){ 
         opcao[i].checked = false; 
         opcao[i].disabled = true; 
        } 
       } 
      } 
     } 
    </script> 

내가 함수 내에서 'CHECK1()'와 'opcao'배열 'CHECK2를()를 호출 할 필요가있다. 어떻게해야합니까?

====================

나는 Mishik의 제안이 작동하지 않았다 시도했다. 내가 필요한 것은 'check1()'과 'check2()'같은 함수가 동일한 배열 'opcao'에 접근한다는 것입니다. 각 함수 내에 배열을 작성하면 코드가 완벽하게 작동합니다. 그러나 생성 된 각 함수에 대해 동일한 배열을 반복해야하는 동일한 값은 어떻게됩니까?

+3

"전화"는 무엇을 의미합니까? –

+1

왜 그런 짧은 ID를 사용합니까? JS 프로그래밍과 타이핑 운동을 혼합하고 있습니까? ;) – alfasin

+0

왜 라디오 버튼을 사용하나요? –

답변

2

페이지가로드되기 전에 코드가 실행되면 opcao 어레이에는 실제로 필수 요소가 포함되지 않습니다.

window.onload에 코드를 래핑해야 스크립트가 실행될 때까지 document에서 필요한 모든 요소를 ​​사용할 수 있습니다.

window.onload = function() { 
    var opcao = new Array (
     document.getElementById("cred_form_1864_1_wpcf-pde_Pesquisas_descontinuadas"), 
     document.getElementById("cred_form_1864_1_wpcf-pnps_Pesquisas_nao_patenteaveis-sigilosas") 
    ); 

    function check1(){ 
     if (opcao[0].checked == true){ 
      for (var i = 0; i < opcao.length; i++){ 
       if (i != 0){ 
        opcao[i].checked = false; 
        opcao[i].disabled = true; 
       } 
      } 
     } 
    } 

    function check2(){ 
     if (opcao[1].checked == true){ 
      for (var i = 0; i < opcao.length; i++){ 
       if (i != 1){ 
        opcao[i].checked = false; 
        opcao[i].disabled = true; 
       } 
      } 
     } 
    } 
} 
+0

아래쪽에 스크립트 태그를 두는 것만으로도 OP의 경우 충분하다고 생각합니다. 그럼에도 불구하고 이것은보다 어리석은 해결책입니다. – finishingmove

+0

Finishingmove, 솔루션 작동! –

관련 문제