I want to select an option in order to change the background color of a page using JavaScript.
This is what I've tried:
<html>
<head>
<script>
function colorFunction()
{
document.bgcolor="this.option[this.selectedIndex]";
}
</script>
</head>
<body>
<form name="bgcolor form">try it now:
<select onchanage="colorFunction">
<option value="choose">Set Background color
<option value="FFOOOO">Dark Red
<option value="OOFFOO">Dark Green
<option value="OOOOFF">Dark Blue
<option value="OOOOOO">Black
</select>
</form>
</body>
</html>
However, my code doesn't work (and I don't know what the errors are).
Simply do it by using jquery.
<html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script> $(document).ready(function() { $("#dropdown").change(function() { var color = $("#dropdown").val(); // alert(color); $("body").css("background-color", color); }); }); </script> </head> <body> <form name="bgcolor form">try it now: <select id="dropdown"> <option value="#fff">Set Background color <option value="#ff0000">Dark Red <option value="#006600">Dark Green <option value="#0000ff">Dark Blue <option value="#000000">Black </select> </form> </body> </html>
<html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script> $(document).ready(function() { $("#dropdown").change(function() { var color = $("#dropdown").val(); // alert(color); $("body").css("background-color", color); }); }); </script> </head> <body> <form name="bgcolor form">try it now: <select id="dropdown"> <option value="#fff">Set Background color <option value="#ff0000">Dark Red <option value="#006600">Dark Green <option value="#0000ff">Dark Blue <option value="#000000">Black </select> </form> </body> </html>
I think,this is what you want.
<html> <head> <script> function colorFunction(color) { document.body.style.backgroundColor = color; } </script> </head> <body> <form name="bgcolor form">try it now: <select onchange="colorFunction(this.value)"> <option value="#fff">Set Background color <option value="#ff0000">Dark Red <option value="#006600">Dark Green <option value="#0000ff">Dark Blue <option value="#000000">Black </select> </form> </body> </html>
Here i have modified your code ,please check it. I have done it in the way you want to get result.
<html> <head> <script> function colorFunction() { var color = document.getElementById("thedropdown"); document.body.style.backgroundColor = color.options[color.selectedIndex].value; } </script> </head> <body> <form name="bgcolor form">try it now: <select id="thedropdown" onchange="colorFunction()"> <option value="#fff">Set Background color <option value="#ff0000">Dark Red <option value="#006600">Dark Green <option value="#0000ff">Dark Blue <option value="#000000">Black </select> </form> </body> </html>
You have a typo. It should be:
<select onchange="colorFunction">
Here's my solution:
function colorFunction(e) { if(e.selectedIndex!=0) { document.bgColor = e.options[e.selectedIndex].value } }
<form name="bgcolor form">Try it now: <select onChange="colorFunction(this)"> <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>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.