我已经在这方面工作了一段时间,但不明白我的代码有什么问题。我确信这很简单 - 它始终是!
基本上,我有一个下拉菜单,有一些选项。我希望它在选择第三个选项管道工时进入网页。点击其他任何一个时,都不会发生任何事情。
到目前为止我的代码是:
<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>
但它不起作用。有人能告诉我什么是错的吗?
感谢。
下进行。
答案 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;方法。