我有以下代码 - jsFiddle 上的示例
<select>
<optgroup label="Group1">
<option value="11">Option 1</option>
<option value="12">Option 2</option>
</optgroup>
<optgroup label="Group2">
<option value="21">Option 1</option>
<option value="22">Option 2</option>
</optgroup>
</select>
和一些jQuery代码:
$(document).ready(function() {
$("select optgroup").click(function() {
alert("Clicked " + $(this).attr("label"));
});
这似乎很简单。如果我添加onclick="javascript:alert(...);"
这似乎可行......除了点击无论点击什么都会触发。
为什么这不起作用?
谢谢你的帮助!
编辑
我在这里尝试做的事情似乎存在误解,所以我需要稍微扩展代码以提供更好的想法。
我的目标是能够做到以下几点:
$(document).ready(function() {
$("select optgroup").children().hide();
$("select optgroup").click(function() {
$(this).children().show();
});
如您所见,在选项上捕获单击事件然后确定组将不起作用,因为选项将全部隐藏。我希望在单击组 (optgroup) 时显示选项。话虽如此,Chrome 似乎并不尊重对组的单击,IE 仅返回所选项目的组(当您单击 optgroup 时)项目。