2012-12-20 239 views
1

我有一个很长的选项列表,用optgroups分隔。我试图让每个OPTGROUP显示/隐藏其子点击时:切换显示/隐藏optgroup子女jquery

$("optgroup").toggle(function(){ 
    $(this).children().show(); 
}, function() { 
    $(this).children().hide(); 
}); 

选项列表:

<form> 
<select> 
<optgroup label="a"> 
<option id="a1">a1</option> 
<option id="a2">a2</option> 
<option id="a3">a3</option> 
<option id="a4">a4</option> 
</optgroup> 

<optgroup label="b"> 
<option id="b1">b1</option> 
<option id="b2">b2</option> 
<option id="b3">b3</option> 
<option id="b4">b4</option> 
</optgroup> 
</select> 
</form> 

当我点击OPTGROUP,它不切换显示孩子。

+1

我不认为你可以显示/隐藏optgroup标签。相反,我会寻找一个插件更换:http://harvesthq.github.com/chosen/ – wakooka

+0

你不能选择'' –

+0

谢谢@ jerome.s我会用那 – user1918509

回答

0

您的切换事件永远不会执行,因为您无法选择optgroup。

我建议使用2个选择元素。在第1部分选择optgroup,然后用相关选项更新第2部分。

+0

我认为这不适合我,因为这对用户来说有点费时 – user1918509

+0

然后我建议使用select元素进行过滤,以便他们至少可以过滤选择选项。 – Doink

+0

@ jerome.s上面已经推荐了一些完美的东西 - “选择”是像我这样的使用optgroups等艰苦列表的样式表。 – user1918509