4

我已经为此工作了一段时间,但不明白我的代码有什么问题。我敢肯定这很简单——总是如此!

基本上,我有一个下拉菜单,有一些选项。我希望它在选择第三个选项管道工时转到网页。当单击其他任何一个时,什么都不会发生。

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

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

但它不起作用。有人可以告诉我有什么问题吗?

谢谢。

C。

4

4 回答 4

4

您可以通过脚本在控件上放置更改事件,也可以将其直接添加到控件中。

直接法:

<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();")
于 2012-12-18T11:45:44.097 回答
0
<select id="search">

我想,有很多空间。

getElementById("search").value

我已经有一段时间没有使用它了,但它不是......

location.href = "search_results.htm";

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

<select id="search" onClick="go_button();">
于 2012-12-18T11:44:30.390 回答
0

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

于 2012-12-18T11:54:29.390 回答
0

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

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

于 2012-12-18T11:38:27.717 回答