javascript下拉菜单onclick

javascript下拉菜单onclick,javascript,drop-down-menu,Javascript,Drop Down Menu,我已经在这方面工作了一段时间,但不明白我的代码出了什么问题。我相信这是件简单的事——总是如此 基本上,我有一个下拉菜单,带有一些选项。当第三个选项“水管工”被选中时,我希望它转到一个网页。单击任何其他项时,都不应发生任何事情 到目前为止,我的代码是: <select id = 'search'> <option value="1">Carpenter</option> <option value="2">Electrician</option

我已经在这方面工作了一段时间,但不明白我的代码出了什么问题。我相信这是件简单的事——总是如此

基本上,我有一个下拉菜单,带有一些选项。当第三个选项“水管工”被选中时,我希望它转到一个网页。单击任何其他项时,都不应发生任何事情

到目前为止,我的代码是:

<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>

木匠
电工
水暖工
瓦工
锅炉安装

我的javascript是:

<script>
function go_button {
if (search.value=="3") {
location="search_results.htm"
}
}

</script>​​​​​​​

功能按钮{
如果(搜索值=“3”){
location=“search\u results.htm”
}
}
​​​​​​​
但它不起作用。谁能告诉我怎么了

谢谢


C.

您需要告诉javascript您对哪个元素感兴趣

使用
getElementById(“search”)
返回元素,然后可以查看其值

<select id="search">
我已经有一段时间没用这个了,但不是吗

location.href = "search_results.htm";
类似于此,您可以访问对象。最后但并非最不重要的一点是,您需要将功能“go_button”与下拉框的事件相关联,如下所示:

<select id="search" onClick="go_button();">

您可以通过脚本在控件上添加或直接将其添加到控件中

直接法:

<select id="search" onChange="OnSelectedIndexChange()">
使用脚本(JavaScript或JQuery)添加更改事件:

我建议这样做(onSelectedIndexChange函数在这里已过时)

如果不想使用JQuery,只需添加以下代码:

    var yourdropdown = document.getElementById('search');
    yourdropdown.Attributes.Add("onChange", "return OnSelectedIndexChange();")

我认为——如果可能的话——使用jQuery或其他js框架,两者都有内置的select和其他html/dom插件和方法

//function for changed selection
function OnSelectedIndexChange()
{
if (document.getElementById('search').value == "3"){
    location.href="search_results.htm";
}
}
$('#search').change( function() {

if(this.val() == "3"){
location.href="search_results.htm";
}

});
    var yourdropdown = document.getElementById('search');
    yourdropdown.Attributes.Add("onChange", "return OnSelectedIndexChange();")