2014-03-12 169 views
3

我有一个下拉菜单,其中包含一个包含其自己的下拉菜单的下拉菜单。只要我点击内部下拉菜单,父级下拉菜单关闭。如何防止父母下拉关闭?以及如何解决多个嵌套下拉菜单的相同问题? 代码:如何防止引导下拉菜单单击关闭父下拉菜单

<div class="dropdown selectDropdownDiv"> 
    <a data-toggle="dropdown" href="#" class="btn selectDropdown">--<span class="caret pull-right"></span></a> 
    <div class="dropdown-menu keep_open" role="menu" aria-labelledby="dLabel" id="keywordDropdown"> 
    <div class="dropdown selectDropdownDiv"> 
     <a data-toggle="dropdown" href="#" class="btn selectDropdown">--<span class="caret pull-right"></span></a> 
     <ul class="dropdown-menu keep_open" role="menu" aria-labelledby="dLabel"> 
     <li class="checkbox marginl5"> 
      <label> 
      <span class="checkLabel">Source X</span><input type="checkbox"> 
      </label> 
     </li> 
     <li class="checkbox marginl5"> 
      <label> 
      <span class="checkLabel">Source X</span><input type="checkbox"> 
      </label> 
     </li> 
     </ul> 
    </div> 
    </div> 
</div> 

我正在使用Twitter Bootstrap。任何帮助,将不胜感激。

+0

由于子菜单可能包含“复选框”,“单选按钮”等设置其他选项。我想设置/取消设置多个复选框/单选按钮。但只要我点击内部下拉菜单,父母就会关闭,剥夺我上述的奢侈品。 – myusuf

+0

你有没有找到解决方案? – roydukkey

+0

不需要。最后,我必须更改用户界面,以便我们只有一个下拉菜单,然后切换div。 – myusuf

回答

0

这应该有效。它停止将click事件传播到控制隐藏菜单的引导事件。

$("#parent-element").on("click", ".dropdown-menu", function (e) { 
    $(this).parent().is(".open") && e.stopPropagation(); 
});