将元素转换为选项

时间:2011-04-27 19:06:24

标签: javascript dom xmldom

有没有办法将Element对象转换为HTMLOption对象? 我有一个代码如下:

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标记。我知道如何做到这一点,但是。有没有直接而快速的方法呢?

2 个答案:

答案 0 :(得分:1)

您应该能够使用

从XML获取选项元素
var optsFromXml = regions.getElementsByTagName('option');

这会给你一个在html中处理的选项集合。喜欢附加到某个<select>元素:

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

答案 1 :(得分:0)

你可以这样做:

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

selectObject.options[index] = newOpt;