2013-02-08 2 views
0

자바 스크립트에서 선택 이름을 동적으로 가져 오는 방법을 알아야합니다. 이 문제를 어떻게 해결해야합니까?Javascript - HTML에서 동적 이름 얻기

나는 시도 VAR을 시도했습니다 전 = 다음 getElementsByName()과 경우 (내가 == "X) ... 다른 .... 결과가 없습니다

내 자바 스크립트 :

function displayResult() 
{ 
    var m=document.getElementsByName("x"); 
    document.getElementById('divid').innerHTML = m[0].value; 
}         

내 HTML :

<form> 
     <select name = x> 
     <option> a </option> 
     <option> b </option> 
     <option> c </option> 
     </select> 
     <select name = y> 
     <option> 2 </option> 
     <option> 3 </option> 
     <option> 4 </option> 
     </select> 
    </form> 
+0

@pure_code document.getElementsByName ('x'를) 필요; 동적으로 이름을 얻으려면 –

+0

"x"를 변수로 사용 하시겠습니까? –

+0

필수 : ​​당신은 무엇을 시도 했습니까? – Achrome

답변

1

그래서 당신은 x가 '동적'이어야합니다. 나는 그것이 당신이 무엇을 의미하는지 정말로 이해하지 못한다.하지만 나는 당신이 함수를 호출 할 때마다 다른 이름을 지정하기를 원한다고 생각한다. 이것이 바로 함수 매개 변수입니다.
이 당신의 기능을 변경합니다

function displayResult(name) 
{ 
    var m=document.getElementsByName(name); 
    document.getElementById('divid').innerHTML = m[0].value; 
} 

지금 당신이 함수를 호출 할 수 있습니다

displayResult("x"); 
+0

정확히 내가 필요한 것 . 나는 내가 왜 이런 생각을하지 않았는지 알지 못한다. 아주 간단합니다. 직장에서의 긴 하루 ... –

+0

같은 이름을 가진 요소가 더 많은 경우이 메서드는 첫 번째로만 설정합니다.모든 함수 호출시 배열 인덱스로 사용할 두 번째 매개 변수를 추가하도록 결정하려면이 모든 요소에 대해 루핑을 포함하도록 함수를 변경해야합니다. @JeftLebowski – 11684

0

나는 당신이 실제로 찾고있는 것은이 있다고 생각 :

var nodes = document.getElementsByTagName('select'); 
var names = new Array(); 
for(i=0,c=nodes.length;i<c;i++){ 
    names.push(nodes[i].name); 
} 

이 코드는 간단한 용액와 jQuery http://jquery.com 새로운 브라우저 API를 또한

var myx = "x"; 
var elems = $("select[name=" + myx + "]"); 

하여 순수한 자바 될 페이지

2

에 제시하는 선택의 이름을 포함하는 배열 names을 생성 할 것이다 :

var elems = document.querySelectorAll("select[name=x]") 

https://developer.mozilla.org/en-US/docs/DOM/Document.querySelectorAll

+0

X가 동적이어야합니다. 우리는 그것이 x, y, z 또는 무엇이 될지 모릅니다. –

+0

답이 업데이트되었습니다. Javascript로 동적으로 문자열을 생성 할 수 있습니다. –

+0

자바 스크립트에서 문자열에 익숙하지 않다면 자바 스크립트 기초를 배우는 것이 좋습니다. 추가 질문의 범위는 프로그래밍 언어의 기초를 배우는 것입니다. http://www.codecademy.com/tracks/javascript –