- ベストアンサー
セレクトメニューの値の取得
質問します。 下記のようなセレクトメニューがあった場合に、表示されている値(AA,BB)をJavaScriptで取得する場合はどのようなコーディングをすればよろしいのでしょうか? <select name="SL_CMB" onChange="alert();"> <option value="1" Selected>AA</option> <option value="2" >BB</option> <option value="3" >CC</option> <option value="4" >DD</option> <option value="5">EE</option> </select>
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
短く書くとこんな感じで。 <select name="SL_CMB" onchange="alert(this.options[this.selectedIndex].text)"> #DOMではoptionのテキストはそのまんまtextで読み出せます。 参考URLにはラベルがないのでページ内検索で「HTMLOptionElement」を探してみてください。
その他の回答 (3)
- osumitan
- ベストアンサー率33% (102/307)
こんな感じでどうでしょうか? ----------------- <html> <head> <script> <!-- function show(sel) { alert(sel.options[sel.selectedIndex].text); } //--> </script> </head> <body> <form> <select name="SL_CMB" onChange="show(this)"> <option value="1" Selected>AA</option> <option value="2" >BB</option> <option value="3" >CC</option> <option value="4" >DD</option> <option value="5">EE</option> </select> </form> </body> </html>
- trisagion
- ベストアンサー率68% (15/22)
以下の感じでどうでしょう? <HTML> <HEAD> <TITLE>Test</TITLE> <SCRIPT language="javascript" type="text/javascript"> <!-- function getString(){ var object = document.forms['form'].elements['SL_CMB']; var num = object.selectedIndex; alert(object.options[num].childNodes[0].nodeValue); } //--> </SCRIPT> <STYLE type="text/css"> <!-- --> </STYLE> </HEAD> <BODY> <FORM method ="POST" name="form" action =""> <select name="SL_CMB" onChange="getString()"> <option value="1" Selected>AA</option> <option value="2">BB</option> <option value="3">CC</option> <option value="4">DD</option> <option value="5">EE</option> </select></FORM> </BODY> </HTML>
- Blackwingls
- ベストアンサー率44% (138/313)
こんばんわぁ、Blackwinglsです。 > 表示されている値(AA,BB)を これは表示文字なのでフォームからの送信内容にはなりません。 valueで取出します。 <select name="SL_CMB" onChange="alert();"> <option value="AA" Selected>AA</option> <option value="BB" >BB</option> <option value="CC" >CC</option> <option value="DD" >DD</option> <option value=EE">EE</option> </select> として、 document.formName.eleName.value として取出します。 formName が、test の場合、 vl = document.test.SL_CMB.value で、vl に取出せます。 もしくは vl = document.form[0].elements[0].value のように参照番号を使用してもOKです。 ではでは~☆彡
補足
回答ありがとうございます。 今回やりたいことがvalue値と表示項目が別々なんですよ。 JavaScriptの仕様上表示データが取得できないのであればあきらめます。丁寧な解説ありがとうございました。