2013-04-23 18 views
2
<script>  
myVar = document.getElementById('colorpick').value; 

function color_click(myVar){ 
document.getElementById("touch").style.backgroundColor=myVar; 
} 
</script> 
<select name="colorpick" id="colorpick"> 
<option value="red">red</option> 
<option value="blue">blue</option> 
<option value="green">green</option> 
</select> 

<div id="touch" onclick="color_click(myVar);"> XXXXXXXXXXX </div> 

此代码的工作,当我代替“蓝色”的myVar的价值预期的功能,但是,我想之前选择通过下拉菜单的颜色我点击元素来改变它的背景。如何选定的下拉值传递给改变背景颜色的onclick

回答

3

因为你想,当你点击的div通过下拉菜单获取颜色,所以你需要把

myVar = document.getElementById('colorpick').value; 

在color_click功能。
你可以试试这个:

function color_click(){ 
    var myVar = document.getElementById('colorpick').value; 
    document.getElementById("touch").style.backgroundColor = myVar; 
} 

而且在你的div:

<div id="touch" onclick="color_click();"> XXXXXXXXXXX </div> 

希望这是有帮助的。

+0

谢谢,这个作品完美。 – Joe 2013-04-24 02:07:11

+0

@Joe不客气。 – 2013-04-24 05:12:19

0

您需要访问所选选项的值。要做到这一点,你需要的是这样的:

function color_click(){ 
    var sel = document.getElementById('colorpick'), 
    myVar = sel.options[sel.selectedIndex].value; 
    document.getElementById("touch").style.backgroundColor=myVar; 
}