Search code examples
twitter-bootstrapnav-pills

Bootstrap Checkbox not working in nav-pills


I can't figure out why the second checkbox is not working. I'm sure it's something relating to Bootstrap / CSS, and this is not my forte.

The first checkbox works as expected, but something happens when I put the checkbox inside the nav-pills. Can someone help me out?

HTML:

<div class="checkbox">
  <label>
    <input type="checkbox">Testcheckbox
  </label>
</div>

<ul id="menu" class="nav nav-pills nav-stacked">
    <li class="nav-divider"></li>
    <li>
        <a class="nav-menu-container" data-toggle="collapse" data-parent="#menu" href="#sub-menu">
            Sub-Menu
            <div class="sub-menu-caret-container"><span class="caret arrow"></span></div>
        </a>
    </li>
    <ul class="nav nav-pills nav-stacked collapse in" id="sub-menu">
      <li data-toggle="collapse" data-parent="#sub-menu" href="#pv11">
        <div class="nav-sub-menu-container">
          <div class="checkbox">
            <label>
              <input type="checkbox">Testcheckbox
            </label>
          </div>
        </div>
      </li>
      <li data-toggle="collapse" data-parent="#sub-menu" href="#pv11"><a id="item1" class="nav-sub-menu-container" href="#">Item 2</a></li>
      <li data-toggle="collapse" data-parent="#sub-menu" href="#pv11"><a id="item2" class="nav-sub-menu-container" href="#">Item 3</a></li>
      <li data-toggle="collapse" data-parent="#sub-menu" href="#item3"><a class="nav-sub-menu-container" href="#">Item 4</a></li>
    </ul>
    <li class="nav-divider"></li>
</ul>

CSS:

.sub-menu-caret-container {
  float: right;
}
.nav-menu-container {
  font-weight: bold;
}
ul.nav-stacked ul.nav-stacked > li > .nav-sub-menu-container {
  padding-left: 30px;
}

Link to jsFiddle


Solution

  • The data-toggle on the parent li is overriding the checkbox click.