web-dev-qa-db-ja.com

JavaScriptでオプションのテキスト/値を取得する

回答var option_user_selection = element.options[element.selectedIndex].text

私は、人の注文を満たすフォームを作成しようとしています。

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

私がやろうとしているのは、selectオブジェクトで送信し、オプションメニューから名前とテキスト/値を取得し、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;
}

名前とオプションの値は取得できますが、selectオブジェクトからtext = ""またはvalue = ""を取得できないようです。ユーザーが選択したオプションメニューのテキスト/値のみが必要です。私はそれらを配列に配置できることを知っていますが、それは助けにはなりません

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

また、渡された選択参照を使用する必要があります。これは、残りのコードでの設定方法です。

後で、そのテキスト/値を使用して、次の選択フォームに動的に入力されるXMLドキュメントをプルします。

54
Phil

次を使用できます。

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

Jqueryでは、これを試すことができます$("#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