2013-10-08 185 views
2

我有JavaScript的问题,很抱歉,但我在Javascript更改元素的背景颜色?

我想,发挥作用等元素cnagecolor,并通过颜色是什么,我想也不好,但没有运气:(

这就是我现在

<script> 
function changeColor(i) { 
    var col = document.getElementById("changecolor"); 
    col.style.backgroundColor = '+i+'; 
} 
</script> 
<select id="changecolor"> 
<option>Kategorija</option> 
<option onclick="changeColor('rgb(51,51,51)');" style="background-color:rgb(51,51,51);"></option> 
<option onclick="changeColor('rgb(0,51,255)');" style="background-color:rgb(0,51,255);"></option> 
<option onclick="changeColor('rgb(204,0,153)');" style="background-color:rgb(204,0,153)"></option> 
<option onclick="changeColor('rgb(255,204,153)');" style="background-color:rgb(255,204,153)"></option> 
</select> 
+0

使用'col.style.backgroundColor = I;' – Reeno

+0

没有运气,没有工作:( –

+0

嗯,'select'没有背景颜色,只有'option',所以你只能改变选择的背景,但它们已经有了正确的背景 – Reeno

回答

3

尝试类似...

<script> 
    function changeColor() { 
     var col = document.getElementById("changecolor"); 
     col.style.backgroundColor = col.value; 
    } 
</script> 

<select onchange="changeColor()" id="changecolor"> 
<option >Kategorija</option> 
<option value="rgb(51,51,51)" style="background-color:rgb(51,51,51);"></option> 
<option value="rgb(0,51,255)" style="background-color:rgb(0,51,255);"></option> 
<option value="rgb(204,0,153)" style="background-color:rgb(204,0,153)"></option> 
<option value="rgb(255,204,153)" style="background-color:rgb(255,204,153)"></option> 
</select> 
+2

+1你说得对。使用onChange事件处理select和radio是可以接受的。在这里支持你的答案是一个小提琴http://jsfiddle.net/SmFLx/1/ – Praveen

+0

谢谢...我没有测试它..很高兴知道它的作品:) –

0

试试这个

col.style.backgroundColor = i; 
0

“onclick”事件(以及“onselect”太)不支持选项标记。所以,你可以用 '平变化',而不是:

function select_onChange() { 
    var selectElem = document.getElementById("changecolor"); 
    selectElem.style.backgroundColor = selectElem.value; 
} 

<select id="changecolor" onchange="select_onChange()"> 
    <option value="rgb(51,51,51)" style="background-color:rgb(51,51,51);">Option #1</option> 
    <option value="rgb(0,51,255)" style="background-color:rgb(0,51,255);">Option #2</option> 
</select> 
0

你可以做这样的事情..

<script> 
    // Execute this function on change of the select 
    function changeColor() { 
    var col = document.getElementById("changecolor"); 
    // Get the value of selected option in select 
    var values = col.options[col.selectedIndex].value; 
    col.style.backgroundColor = values; 
} 

</script> 

<select id="changecolor" onchange="changeColor();"> 
<option>Kategorija</option> 
<option value="rgb(51,51,51)">a</option> 
<option value="rgb(0,51,255)">v</option> 
<option value="rgb(204,0,153)">s</option> 
<option value="rgb(255,204,153)">d</option> 
</select>