繁体   English   中英

使用javascript下拉菜单更改表格单元格的颜色

[英]Change color of a table cell using javascript dropdown menu

我需要一些帮助来创建一个下拉菜单,以更改表格中一个单元格的背景颜色。 我下面的代码有效,但仅适用于预定义选项的列表。 现有代码如下:

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

我在正确的轨道上吗? 请让我知道您将如何完成此任务。

另外,我很好奇我是否想将此应用到范围内,我还需要进行哪些其他更改?

您忘记为颜色放##= #FFFFCC

试试看:

<option value="#FFFFCC">light yellow
<option value="#CCFFFF">light blue
<option value="#CCFFCC">light green
<option value="#CCCCCC">gray
<option value="#FFFFFF">white

您可以使用jquery简化代码,也可以避免其他很多跨浏览器javascript的麻烦。 我在这里用您的表格整理了一个样本。

http://jsfiddle.net/M8U7D/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM