본문 바로가기
JAVASCRIPT/자바스크립트 연관배열 동적 이름 객체 접근

자바스크립트 연관 배열을 이용한 동적 객체 접근 (접근 객체 이름 동적 바꾸기)

by 정윤재 2010. 6. 10.



자바스크립트에서

for(i=0;i<10;i++){
form.(name+i).value = i;

}

뭐 이런식으로 동적으로 접근 하려고 시도를 많이 했었다 

동적 테이블 -추가 삭제 만들때 많이 쓸 때가 있을 것 같은데...

자바스크립트는 프로퍼티 이름을 프로그램 실행되는 시간에

동적으로 바꿀 수가 없다고 한다. . 를 써서 접근 할때는...

그래서 찾아낸 방법이... [ ] 를 써서 form 의 하위 프로퍼티에

접근 하는 방법이다. 아래 코드의 붉은색 표시를 보면 이해가

갈 것으로 보인다. ( [ ] 안은 문자열이므로  run time 에 조작 될

수가 있다고 한다.)

form.a1.value  === form[a1].value 라는 개념만 알면

굉장히 쉬운 문제 였다. (표현방식만 달라지면 되는 것이다.)

<script>
function sub(){
 var fr  = document.frm;
 for(var i=0;i<3;i++){
  fr["a"+i].value=i; 
 }
}
</script>
<form name="frm">
 <input type="text" name="a0"></input>
 <input type="text" name="a1"></input>
 <input type="text" name="a2"></input><br>
 <input type="button" value="sub" onclick="sub();"></input>
 
</form>

댓글