brunoais
brunoais

Reputation: 6846

Convert Element to Option

Is there a way to convert an Element Object to an HTMLOption object? I have one code that looks like this:

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();

I know that this code does not work and is not specified but I think It is enough to give the idea about what I am trying to accomplish. The element with the id selectedRegiao is a <select> tag.<br> regions is XML. It looks like this:

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

I wanted to convert it in a quick and easy way to an Option tag. I know how to do it in the long way but. Is there a direct and quick way to do it?

Upvotes: 0

Views: 237

Answers (2)

KooiInc
KooiInc

Reputation: 122946

You should be able to get the option elements from XML using

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

That would give you an options collection to handle in html. Like appending to some <select> element:

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

Upvotes: 1

Lactose
Lactose

Reputation: 695

you could do something like this:

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

selectObject.options[index] = newOpt;

Upvotes: 0

Related Questions