为什么这只适用于Firefox?如何在所有浏览器中使用它?
<script type="text/javascript">
$(document).ready(function(){
$(".radio_c").click(function(){
alert('message');
});
});
</script>
<select name = "list1">
<option value="dog">dog</option>
<option value="cat">cat</option>
<option class="radio_c" value="car_bmw">bmw</option>
<option class="radio_c" value="car_audi">audi</option>
</select>
答案 0 :(得分:6)
正如其他人所说,您希望将事件绑定到下拉列表并进行更改。从那里,您可以检查所选元素并按此处理。
$("select").change(function() {
if ($(this).find(":selected").hasClass("radio_c")) {
$("ul").append("<li>Selected: " + $(this).find(":selected").val() + "</li>");
}
});
jsfiddle上的示例。
答案 1 :(得分:1)
无法点击选项。只能单击选择。选项是内部的东西。它不能附加DOM-stuff,因此无法禁用/启用它。如果要禁用一个,则需要将其从DOM中删除。它不像'普通'html元素。
答案 2 :(得分:1)
我认为您正在寻找change()
而非click()
,如下所示:
$("select").change(function() {
if($(':selected', this).hasClass('radio_c')) {
alert('message');
}
}
答案 3 :(得分:0)
您无法将事件附加到选项标记。您可以将change()
事件附加到选择中,只要您选择一个选项,就会触发该事件。
$(document).ready(function(){
$('select[name="list1"]').change(function(){
if($('option:selected', this).hasClass('radio_c')){
alert($(this).val());
}
});
});