2012-12-18 186 views
2

我一直在這裏工作了一段時間,但不明白我的代碼有什麼問題。我相信這很簡單 - 它永遠是!javascript下拉菜單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.

回答

2

您可以把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();") 
0

你需要告訴的JavaScript它是元素你有興趣。

使用getElementById("search")返回元素,那麼你可以考慮獲取其值。

0
<select id="search"> 

我覺得,有很多空間。

getElementById("search").value 

我沒有在使用了一段時間這一點,不過,是不是...

location.href = "search_results.htm"; 

有點像這樣,您可以訪問該對象。最後但並非最不重要的,你需要給你的函數「go_button」與下拉框的情況下,這樣的事情聯繫起來:

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

我想 - 如果可能的話 - 使用jQuery或其它JS框架,既具有內置的選擇和其它的HTML/DOM插件&我thods。