JSFiddle Here
这是下拉菜单中的复选框列表。我希望能够点击锚标记&#39;文本以选中相应的复选框。但是,我目前将它设置为<a href="#">
,它只是关闭下拉列表并进入页面顶部(在我自己的版本上,而不是JSFiddle,因为它在叠加层上)。
我看到一个选择了复选框的解决方案,但每次点击时下拉列表仍然关闭,是否有一种简单的方法可以解决此问题?
答案 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'));
});