javascript下拉菜单onclick

时间:2012-12-18 11:36:45

标签: javascript drop-down-menu

我已经在这方面工作了一段时间,但不明白我的代码有什么问题。我确信这很简单 - 它始终是!

基本上,我有一个下拉菜单,有一些选项。我希望它在选择第三个选项管道工时进入网页。点击其他任何一个时,都不会发生任何事情。

到目前为止我的代码是:

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

但它不起作用。有人能告诉我什么是错的吗?

感谢。

下进行。

4 个答案:

答案 0 :(得分:3)

您可以通过脚本在控件上添加change event,也可以直接将其添加到控件中。

直接法:

<select id="search" onChange="OnSelectedIndexChange()">

这是您需要在脚本中添加的功能:

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

使用脚本(JavaScript或JQuery)添加更改事件:

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

$('#search').change( function() {

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

});

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

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

答案 1 :(得分:0)

你需要告诉javascript你感兴趣的是哪个元素。

使用getElementById("search")返回元素,然后您可以查看获取其值。

答案 2 :(得分:0)

<select id="search">

我认为,有很多空间。

getElementById("search").value

我有一段时间没用过这个,但不是吗......

location.href = "search_results.htm";

有点像这样可以访问该对象。最后但并非最不重要的是,您需要将您的函数“go_button”与下拉框中的事件相关联,如下所示:

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

答案 3 :(得分:0)

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

相关问题