2011-01-12 66 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>