2011-04-27 5 views
0

요소 개체를 HTMLOption 개체로 변환하는 방법이 있습니까? I는 다음과 같습니다 하나 개의 코드가 :이 코드가 작동하지 않고 지정되지 않은 것을 알고요소를 옵션으로 변환

var request = getXMLHttpRequest(); 

      request.onreadystatechange = 
       function(){ 
        if(request.readyState == 4 && request.status == 200){ 
         var regions = request.responseXML.firstChild; 
         document.getElementById('selectedRegiao').appendChild(regions.childNodes[1]); 
        } 
       } 

      request.open("get", "getRegions.php?country=" + country,true); 
      request.send(); 

을하지만 내가 달성하기 위해 노력하고 무엇에 대한 아이디어를 제공하기에 충분하다고 생각합니다. id가 selectedRegiao 인 요소는 <select> 태그입니다. <br> 영역은 XML입니다. 다음과 같이 보입니다 :

<option name="val1">val1</option> 
<option name="val2">val2</option> 

Option 태그로 빠르고 쉽게 변환하고 싶었습니다. 나는 그것을 먼 길에서하는 방법을 압니다. 직접하고 빠른 방법이 있습니까?

+0

는 대답은 솔루션하지만이 그럴듯하지 않을 수 있습니다 ... – brunoais

답변

1

당신은 당신에게 HTML로 처리 할 수있는 옵션 모음을 줄 것이다

var optsFromXml = regions.getElementsByTagName('option'); 

를 사용하여 XML에서 옵션 요소를 얻을 수 있어야합니다. 일부 <select> 요소에 추가처럼 :

someSelect.appendChild (
      new Option(optsFromXml[0].getAttribute('name')) 
); //=> appends option with value/text from name attribute 
+0

@Kooilnc 당신이 작성한 방법으로 당신이 원하는 것을 이해 한 것 같지만 regions.getElementsByTagName ('option') [0]은 Option Object가 아닌 Element Object이고 someSelect.appendChild (optsFromXml [0])는 이제 허용. – brunoais

+0

네 말이 맞아, 그렇게 붙일 수는 없어. 수정 됨 : 수정 사항보기 및 http://jsfiddle.net/AttTa/ – KooiInc

0

은 당신이 뭔가를 할 수 있습니다 :

var newOpt = new Option(document.getElementById('selectedRegiao').innerHTML, document.getElementById('selectedRegiao').value); 

selectObject.options[index] = newOpt; 
+0

당신은 정말 내가 쓴 ... 도움이 필요를 이해하지 못했다? – brunoais

관련 문제