单击文本以选中复选框

时间:2016-07-08 13:03:45

标签: javascript jquery html twitter-bootstrap

JSFiddle Here

这是下拉菜单中的复选框列表。我希望能够点击锚标记&#39;文本以选中相应的复选框。但是,我目前将它设置为<a href="#">,它只是关闭下拉列表并进入页面顶部(在我自己的版本上,而不是JSFiddle,因为它在叠加层上)。

我看到一个选择了复选框的解决方案,但每次点击时下拉列表仍然关闭,是否有一种简单的方法可以解决此问题?

3 个答案:

答案 0 :(得分:4)

您可以使用标签来实现此功能。将此<ul>列表替换为此列表。

<ul class="dropdown-menu">
  <li>
    <input type="checkbox" id="check_1"/>
    <label for="check_1">Item 1</label>
  </li>
  <li>
    <input type="checkbox" id="check_2"/>
    <label for="check_2">Item 2</label>
  </li>
  <li>
    <input type="checkbox" id="check_3"/>
    <label for="check_3">Item 3</label>
  </li>
</ul>

这会对你有所帮助

答案 1 :(得分:0)

$('.dropdown-menu a').click(function(event){
  event.preventDefault();
  var checkBox = $(this).find(':checkbox');
  checkBox.prop("checked", !checkBox.prop("checked"));
})
@import url('https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.1.0/css/bootstrap.min.css');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.1.0/bootstrap.min.js"></script>


<label for="display">Display</label><br/>
<div class="dropdown">
  <button class="btn btn-default dropdown-toggle" type="button" id="display" data-toggle="dropdown">
    Select Options
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu">
    <li>
      <a href="#">
        <input type="checkbox">Item 1</a>
    </li>
    <li>
      <a href="#">
        <input type="checkbox">Item 2</a>
    </li>
    <li>
    
      <a href="#">
        <input type="checkbox">Item 3</a>
    </li>
  </ul>
</div>

答案 2 :(得分:0)

你可以这样做。

$('a').on("click",function(e) {
  e.preventDefault();
  var checkbox = $(this).children("input");
  $(checkbox[0]).attr('checked', !checkbox.attr('checked'));
});

小提琴:http://jsfiddle.net/u614sy0L/5/