I’ve been working at this for a while now, but don’t understand what’s wrong with my code. I’m sure it’s something simple – it always is!
Basically, I have a drop down menu, with some options. I want it to go to a web page when the third option, plumber, is selected. When any of the others are clicked, nothing should happen.
My code so far is:
<select id = 'search'> <option value="1">Carpenter</option> <option value="2">Electrician</option> <option value="3">Plumber</option> <option value="4">Tiler</option> <option value="5">Boiler Installation</option> </select>
Go
And my javascript is:
<script> function go_button { if (search.value=="3") { location="search_results.htm" } } </script>
But it’s not working. Could someone tell me what’s wrong?
Thanks.
C.
Advertisement
Answer
You can either put a change event on your control via script or add it directly to your control..
Direct Method:
<select id="search" onChange="OnSelectedIndexChange()">
This is the function you need to put in your Script:
//function for changed selection function OnSelectedIndexChange() { if (document.getElementById('search').value == "3"){ location.href="search_results.htm"; } }
Add Change event using Script (either JavaScript or JQuery):
I suggest JQuery for doing so (the onSelectedIndexChange function is obsolete here)
$('#search').change( function() { if(this.val() == "3"){ location.href="search_results.htm"; } });
If you don’t want to use JQuery just add the following code:
var yourdropdown = document.getElementById('search'); yourdropdown.Attributes.Add("onChange", "return OnSelectedIndexChange();")