Bootstrap 选项卡与下拉按钮的混合体

Hybrid of the Bootstrap tabs with the dropdown button

使用 bootstrap 我正在尝试组合使用 bootstrap 选项卡和下拉按钮。基本上我想要完成的是我有一个带有下拉按钮的空白页面。该按钮显示 "Please select one",单击该按钮时会显示一个下拉菜单。当您单击其中一个选项时,该选项的内容将显示在下方。然后,当您单击内容显示的另一个选项时。

我现在设置它的方式有效,但是每当您单击一个选项时,它都会添加一个 "active" class,当您单击另一个选项时,这也是因为 "active"无需将其从另一个移除。所以基本上所有这些最终都会附有活动的 classes,单击一次后它们不再可供选择。

这是我的资料:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

<div class="btn-group">
  <button type="button" class="btn btn-default" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Selct One</button>
    <ul class="dropdown-menu" role="tablist">
      <li role="presentation"><a href="#choice1" aria-controls="profile" role="tab" data-toggle="tab">Choice 1</a></li>
      <li role="presentation"><a href="#choice2" aria-controls="messages" role="tab" data-toggle="tab">Choice 2</a></li>
    </ul>
</div>

<div class="tab-content">
  <div role="tabpanel" class="tab-pane" id="choice1">
    Content for Choice 1
  </div>
  <div role="tabpanel" class="tab-pane" id="choice2">
    Content for Choice 2 
  </div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

我认为这可能与 none 个选项首先分配了 "active" class 这一事实有关?

尝试通过脚本删除 .active class:

https://jsfiddle.net/glebkema/cj1a8Lno/

$('#hybrid a').click(function() {
  $('#hybrid .active').removeClass('active');
})
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

<div id="hybrid" class="btn-group">
  <button type="button" class="btn btn-default" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Selct One <span class="caret"></span></button>
    <ul class="dropdown-menu" role="tablist">
      <li role="presentation"><a href="#choice1" aria-controls="profile" role="tab" data-toggle="tab">Choice 1</a></li>
      <li role="presentation"><a href="#choice2" aria-controls="messages" role="tab" data-toggle="tab">Choice 2</a></li>
    </ul>
</div>

<div class="tab-content">
  <div role="tabpanel" class="tab-pane" id="choice1">
    Content for Choice 1
  </div>
  <div role="tabpanel" class="tab-pane" id="choice2">
    Content for Choice 2 
  </div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>