如何在按钮点击时关闭bootstrap下拉菜单?

时间:2016-10-01 22:40:31

标签: jquery html twitter-bootstrap

我有一个引导下拉菜单,我打开并让它保持打开状态,当我使用我放在其中的网格时,我可以在下拉区域外单击时关闭下拉列表,但我想关闭它点击按钮点击事件..

这是我的下拉列表

<div class="dropdown">
    <button class="btn dropdown-toggle col-md-3" type="button" data-toggle="dropdown">
        Select Category
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu col-md-7" onClick="event.stopPropagation();">
        <div id="MaterialGridList" style="height:440px;"></div>
        <button type="button" id="btnFilter" class="btn btn-sm btn-success">Filter</button>
    </ul>
</div>

正如您在下拉菜单的onClick事件中看到的那样,它会保持打开状态。所以我想做的是在btnFilter点击事件上关闭它。 有什么想法吗?

3 个答案:

答案 0 :(得分:7)

您可以使用内置按钮的toggle上的.dropdown功能:

&#13;
&#13;
$('#btnFilter').click(function() {
  $(this).parents('.dropdown').find('button.dropdown-toggle').dropdown('toggle')
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="dropdown">
    <button class="btn dropdown-toggle col-md-3" type="button" data-toggle="dropdown">
        Select Category
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu col-md-7" onClick="event.stopPropagation();">
        <div id="MaterialGridList" style="height:440px;"></div>
        <button type="button" id="btnFilter" class="btn btn-sm btn-success">Filter</button>
    </ul>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

只需在要关闭菜单的元素上添加data-toggle="dropdown"标签即可。

<button type="button" id="btnFilter" class="btn btn-sm btn-success" data-toggle="dropdown">Filter</button>

答案 2 :(得分:0)

将此添加到.js文件的jQuery代码段中。

var id = generateId();
new = { id: id, row: 1, assetType: "1fKBO4w0XHg7H", status: "ACTIVE" };