2013-10-08 7 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 = я,' – 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 для выбора и радио. Чтобы поддержать ваш ответ, вот скрипка http://jsfiddle.net/SmFLx/1/ – Praveen

+0

спасибо ... я не тестировал его. Рад узнать, что это работает :) –

0

Попробуйте

col.style.backgroundColor = i; 
0

Событие «onclick» (и «onselect» тоже) не поддерживается опцией . Таким образом, вы можете использовать 'OnChange' вместо:

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> 
Смежные вопросы