2011-01-12 48 views
16

如何處理選項元素的事件?單擊選項事件

<select> 
     <option value='option1'>Gateway 1</option> 
     <option value='option2'>Gateway 2</option> 
     <option value='option3'>Gateway 3</option> 
</select> 

當一個選項元素被點擊時,我想顯示一個元素的一些描述。任何想法如何做到這一點?

+0

什麼樣的描述? – amosrivera 2011-01-12 15:26:47

+2

如果有人來這裏爲javascript解決方案(而不是jQuery),只需爲`change`事件添加一個事件偵聽器。 – 2016-01-13 15:42:41

+0

爲了將來的參考,@ niksvp的答案給出的第一個解決方案實際上是這個問題的正確答案。 jQuery給出的答案只針對jQuery,而這個問題沒有指定它的用途。 – ManoDestra 2016-06-03 13:27:26

回答

29

您將要使用jQuery的change event。我將您的選項的文本顯示爲警報,但您可以根據需要顯示任何您想要的內容。 (您也可以,很明顯,將其放在頁面的另一部分......它並不需要是一個警告。)

$('#myOptions').change(function() { 
    var val = $("#myOptions option:selected").text(); 
    alert(val); 
}); 

此外,請注意,我添加了一個ID您select標記,以便您可以更輕鬆地處理事件(我稱之爲myOptions)。

例如:http://jsfiddle.net/S9WQv/

21

正如JasCav使用jQuery你可以使用

<select onchange="alert(this.options[this.selectedIndex].text);"> 
     <option value='option1'>Gateway 1</option> 
     <option value='option2'>Gateway 2</option> 
     <option value='option3'>Gateway 3</option> 
</select> 

另外,選項的onclick事件實現JavaScript中的相同,但請注意,它是不是在所有的瀏覽器兼容的規定。

<select> 
     <option value='option1' onclick="alert(this.value);" >Gateway 1</option> 
     <option value='option2'>Gateway 2</option> 
     <option value='option3'>Gateway 3</option> 
</select>