2010-04-10 5 views
0

다음 코드 스 니펫이 내 div에 포함되어 있으므로 해당 div가 클릭되면 특정 라디오 버튼이 선택됩니다. 내가 좋아 아래 함수 호출에 위의 호출을 변환하고 싶습니다 그러나어떻게 이것을 JavaScript 함수로 작성할 수 있습니까?

onclick="document.g1.city[0].checked=true;" 

function checkRadioButton(input){ 
    document.g1.input.checked=true; 
} 

같은 것

onclick="checkRadioButton(city[0]);" 

그리고 함수 방법이 있나요 I 이것을 성취 할 수 있습니까?

+1

"var"를 함수 인수에 넣을 수 있습니까? o_o –

+0

죄송합니다. 고정 ... – Haluk

답변

3

onclick 속성 내에 모든 자바 스크립트 코드를 쓸 수 있습니다. city[0]은 어디에도 정의되어 있지 않습니다. 액세스하려면 전체 document.g1.city[0]을 지정해야합니다. 따라서 onclick은 다음과 같이됩니다.

onclick="checkRadioButton(document.g1.city[0]);" 

함수 안에는 이미 요소가 있으므로 문서에서 다시 검색 할 필요가 없습니다. 당신은 직접 checked 속성을 설정할 수 있습니다 :

function checkRadioButton(input) { 
    input.checked = true; 
} 
+0

함수 인수 목록에서'var' 키워드를 제거해야합니다. – CMS

+0

@CMS를 지적 해 주셔서 감사합니다. – Anurag

0
onclick="checkRadioButton(document.g1.city[0]);" 

checkRadioButton(var input){ 
    input.checked=true; 
} 

당신은 또한 당신이 thusly 히 표시하는 모든이 DIV 속성 "radioID"및 라디오 버튼에 부여 된 ID와 일치해야하는 속성의 값을 가지고, 예를 들어, document.g1.city[0] 공급의 필요성을 줄일 수 있습니다 :

onclick="checkRadioButton(this);" 

checkRadioButton(var div){ 
    document.getElementById(div.radioID).checked=true; 
} 
+0

xhtml에서 각 페이지마다 한 번만 모든 ID를 사용해야합니다. 그래서이 코드는 여러 요소가'radioID'와 동일한 id를 가질 잘못된 xhtml을 요구하지 않을 것입니다 : "document.getElementById (div.radioID) .checked = true;" – Haluk

관련 문제