单击文本以选中复选框

Clicking text to select checkbox

本文关键字:复选框 文本 单击      更新时间:2023-09-26

JSFiddle Here

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

我看到一个选择了复选框的解决方案,但每次单击时下拉列表仍然关闭,有没有简单的方法来解决这个问题?

您可以将标签用于此功能。将您的<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>

这将帮助你

$('.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>

你可以这样实现它。

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

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