テーブルの 1 つのセルの背景色を変更するドロップダウン メニューを作成する方法を教えてください。以下のコードは機能しますが、事前定義されたオプションのリストに対してのみです。以下にリストされている既存のコード:
<form name="bgcolorForm">Try it now:
<select onChange="if(this.selectedIndex!=0)
document.getElementById('mycell').bgColor=this.options[this.selectedIndex].value">
<option value="choose">set background color
<option value="FFFFCC">light yellow
<option value="CCFFFF">light blue
<option value="CCFFCC">light green
<option value="CCCCCC">gray
<option value="FFFFFF">white
</select></form>
<table>
<tr>
<td id = "mycell">Cell One</td>
<td>Cell Two</td>
</tr>
</table>
既存のリストに含まれる値のリスト (HTML の色名) を参照するように、このコードを変更したいと考えています。たとえば、オプション値をリストする代わりに、次のようにします。
<select name="bg_color" id="bg_color" onchange=...>
コードの「onchange」部分の記述に問題があります。これを行うには変数を作成する必要があると思います...ドロップダウンリストに「赤、青、緑など」のような色の名前が含まれているため、.text 部分に到達する必要があると思います。以下は、私がこれを達成しようとしていた方法です。
<script type="text/javascript">
var e = document.getElementById("bg_color");
var newcolor = e.options[e.selectedIndex].text;
</script>
私は正しい軌道に乗っていますか?これを達成する方法を教えてください。
また、これを適用したい場合は、どのような追加の変更を加える必要がありますか?