Bootstrap下拉菜单 - 仅复选框选择不是文本

时间:2016-04-05 16:47:32

标签: javascript html twitter-bootstrap

我有一个bootstrap下拉菜单。当您点击它时,它会突出显示我的webgl地图中的某些建筑物,具体取决于他们给定的类别(例如博物馆或电影院)。

目前点击该复选框有效。但是,点击旁边的文字也会突出显示建筑物。这很好但是如果你点击文字它没有勾选复选框,所以建筑物突出显示但没有勾选复选框。这使得用户感到困惑。

我试过给文本指定没有指针事件,但这似乎并没有起作用。

网站:explorecanterbury.co.uk(下拉列表是导航栏上的第一个图标)

<nav class="navbar navbar-default" style="z-index:5;">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>

       <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li type="button" class="btn dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><svg>
</li>
            <ul class="dropdown-menu">
                <li><a id="alltoggle" class="small toggle" data-value="option2" tabIndex="-1"><input type="checkbox"/>&nbsp;Show All</a></li>
                <li><a id="mgtoggle" class="small toggle" data-value="option3" tabIndex="-1"><input class="uncheck" type="checkbox"/>&nbsp;Museums and Galleries</a></li>
                <li><a id="landmarktoggle" class="small toggle" data-value="option4" tabIndex="-1"><input class="uncheck" type="checkbox"/>&nbsp;Landmarks</a></li>
                <li><a id="shoppingtoggle" class="small toggle" data-value="option5" tabIndex="-1"><input class="uncheck" type="checkbox"/>&nbsp;Shopping</a></li>
                <li><a id="hotelstoggle" class="small toggle" data-value="option6" tabIndex="-1"><input class="uncheck" type="checkbox"/>&nbsp;Hotels + Bed &amp; Breakfast</a></li>
                <li><a id="churchestoggle" class="small toggle uncheck" data-value="option7" tabIndex="-1"><input class="uncheck" type="checkbox"/>&nbsp;Churches</a></li>
                <li><a id="cinematoggle" class="small toggle uncheck" data-value="option8" tabIndex="-1"><input class="uncheck" type="checkbox"/>&nbsp;Cinemas</a></li>
            </ul>
        <li class="icon_display"><svg></li>
        <li class="icon_display"><svg></li>

      </ul>
      <div class="searchBar">
            <div class="input-group" style="padding-left: 10px;">

  <input type="text" class="form-control ui-autocomplete-input" placeholder="Search" id="srch-term" autocomplete="off">

  <span role="status" aria-live="polite" class="ui-helper-hidden-accessible"></span>

  <svg>

</div>

    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

1 个答案:

答案 0 :(得分:1)

您将要使用label元素。将标签元素中的文本环绕,并为input元素指定id。然后将标签元素的for设置为输入的id。

实施例

<a id="alltoggle" class="small toggle" data-value="option2" tabIndex="-1">
   <input type="checkbox" id="show-all"/>
   <label for="show-all">&nbsp;Show All</label>
</a>