web-dev-qa-db-fra.com

Obtenir une option text / value avec JavaScript

Réponse: var option_user_selection = element.options[element.selectedIndex].text

J'essaie de créer un formulaire qui réponde à l'ordre d'une personne.

<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>

Ce que j'essaie de faire, c'est d'envoyer l'objet sélectionné, extraire le nom et le texte/la valeur du menu d'options ET les données de la balise d'option.

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;
}

Je peux obtenir le nom et la valeur de l'option, mais je ne peux apparemment pas obtenir le texte = "" ou la valeur = "" de l'objet select. Je n'ai besoin que du texte/valeur du menu d'options sélectionné par l'utilisateur. Je sais que je peux les placer dans un tableau, mais cela n'aide pas

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

Je dois également utiliser la référence select passée car c'est ainsi que cela est configuré dans le reste de mon code.

Plus tard, ce texte/valeur sera utilisé pour extraire le document XML qui remplira le formulaire sélectionné suivant de manière dynamique.

54
Phil

Vous pouvez utiliser:

var option_user_selection = element.options[ element.selectedIndex ].text
67
Chandu

Dans jQuery, vous pouvez essayer ceci $("#select_id>option:selected").text()

6
Morganster
form.MySelect.options[form.MySelect.selectedIndex].value
3
M99
var option_user_selection = document.getElementById("maincourse").options[document.getElementById("maincourse").selectedIndex ].text
2
Kreeverp