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.
Vous pouvez utiliser:
var option_user_selection = element.options[ element.selectedIndex ].text
Dans jQuery, vous pouvez essayer ceci $("#select_id>option:selected").text()
form.MySelect.options[form.MySelect.selectedIndex].value
var option_user_selection = document.getElementById("maincourse").options[document.getElementById("maincourse").selectedIndex ].text