61

I am trying to build a form that fills in a person's order.

<form name="food_select">
    <select name="maincourse" onchange="firstStep(this)">
        <option>- select -</option>
        <option text="breakfast">breakfast</option>
        <option text="lunch">lunch</option>
        <option text="dinner">dinner</option>
    </select>
</form>

What I'm trying to do is send in the select object, pull the name and the text/value from the option menu AND the data in the option tag.

function firstStep(element) {
    //Grab information from input element object
    /and place them in local variables
    var select_name = element.name;
    var option_value = element.value;
}

I can get the name and the option value, but I can't seem to get the text="" or the value="" from the select object. I only need the text/value from the option menu the user selected. I know I can place them in an array, but that doesn't help

var option_user_selection = element.options[ whatever they select ].text 

I also need to use the passed in select reference as that is how it's set up in the rest of my code.

Later on, that text/value is going to be used to pull the XML document that will populate the next select form dynamically.

5

4 Answers 4

75

You can use:

var option_user_selection = element.options[ element.selectedIndex ].text
Sign up to request clarification or add additional context in comments.

7 Comments

Is there a jQuery alternative to this?
Try this $("select[name='maincourse'").find('option:selected').text()
@Phil the jquery version in my previous comment is in reply to Jacob's request. Can you elaborate n what's awful?
omgosh, I feel so bad, I thought you were a different guy CORRECTING Chandu, but you ARE Chandu... O_o I deleted my response...
sweet baby Jesus ! excatly what I needed :)
|
7

In jquery you could try this $("#select_id>option:selected").text()

3 Comments

This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post. - From Review
why not? he want the text of the selected value.... that code returns the selected text on the select...
It seems like he is not using jq maybe thats why.
4
var option_user_selection = document.getElementById("maincourse").options[document.getElementById("maincourse").selectedIndex ].text

Comments

3
form.MySelect.options[form.MySelect.selectedIndex].value

1 Comment

This have real educational value. No need for negative marks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.