2009-03-31 3 views
0

나는 일련의 체크 박스와 입력 타입 = "텍스트"영역을 가지고 있는데, 텍스트 영역의 값이 바뀔 때 체크 박스의 상태를 true로 설정해야한다. 충분히 간단합니다. 나는 이것을 성공적으로 끝냈습니다 :자바 스크립트에서 어떻게 this.form.checkbox [5]를 참조할까요?

<input name="fixed" type="checkbox"> 
<input name="stuff" type="text" onchange="this.form.fixed.checked=true"> 

잘 작동합니다. 당신은 필드가 다음에서 편집을 클릭해야하지만, 그건 내 요구 괜찮 :

...하지만이로 전환 할 때 :

<input name="fixed[0]" type="checkbox"> 
<input name="stuff" type="text" onchange="this.form.fixed[0].checked=true"> 
<input name="fixed[1]" type="checkbox"> 
<input name="stuff" type="text" onchange="this.form.fixed[1].checked=true"> 

나는 변화를 얻을 내 체크 박스에 나는 편집 할 때 :

내 유일한 자바

스크립트 노하우는 이런 종류의 인터넷 검색에서 오는 것입니다, 나는 두려워합니다. 누구나 구글의 오라클보다 더 좋은 정보를 가지고 있습니다.

덕분에 ...

답변

6

스위치 브래킷 표기법에

this.form['fixed[0]'].checked 
합니다.!
+0

건배! 내 레일보기에서 하나의 빠른 변경 (그냥 클라이언트에 원시 텍스트를 생성, 그래서 내 질문에 그것을 떠난) 처음으로 찍었다! – Sniggerfardimungus

0

그것은 당신이 HTML에서 수상한 사례를 혼합하고, 당신은 자바 스크립트를 수행 할 때, 그들은 파괴하고 있다는 수 있습니다.

javascript의 this.form.fixed [1]은 실제로 "배열 this.form.fixed의 두 번째 항목입니다. 그래서 문제라고 생각합니다. 요소 fixed0과 fixed1의 이름을 지정하고 작동하는지 확인해보십시오.

편집 : 피터에 의해 그림과 같이 당신은 또한 입력의 이름을 편집하지 않고 문제를 해결해야하는, 브래킷 표기법을 사용할 수있는 점 표기법에서

0

삶을 편하게하십시오.

당신이 당신의 이벤트를 바인딩 할 참조하고 요소에서 그들을 참조하려고하는 요소에 대한 ID의 고유 만들기 :

<input name="fixed[0]" type="checkbox" id="fixed_0"> 
<input name="stuff" type="text" onchange="document.getElementById('fixed_0').checked=true"> 
<input name="fixed[1]" type="checkbox" id="fixed_1"> 
<input name="stuff" type="text" onchange="document.getElementById('fixed_1').checked=true"> 
관련 문제