簡體   English   中英

javascript下拉菜單onclick

[英]javascript dropdown menu onclick

我已經在這方面工作了一段時間,但不明白我的代碼有什么問題。 我確信這很簡單 - 它總是如此!

基本上,我有一個下拉菜單,有一些選項。 我希望它在選擇第三個選項管道工時進入網頁。 點擊其他任何一個時,什么都不應該發生。

到目前為止我的代碼是:

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

您可以通過腳本在控件上添加更改事件 ,也可以將其直接添加到控件中。

直接法:

<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();")

你需要告訴javascript你感興趣的是哪個元素。

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

<select id="search">

我想,有很多空間。

getElementById("search").value

我有一段時間沒用過這個,但不是嗎......

location.href = "search_results.htm";

有點像這樣可以訪問該對象。 最后但並非最不重要的是,您需要將您的函數“go_button”與下拉框的事件相關聯,如下所示:

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

我認為 - 如果可能的話 - 使用jQuery或其他js框架,都有內置的select和其他html / dom插件和方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM