如果选择了第一个选项"全部",那么我想确保选中所有剩余的选项.如果未选中第一个选项"全部",则我希望确保取消选中所有剩余选项.
它似乎是选择值,但不检查前端的选项.
Codeply示例:https://www.codeply.com/go/ExFJtHShnF
我写过的Jquery代码 - 不能正常工作
$("#basic").change(function () {
if ( $("#basic option:first").prop('selected') ) {
$('#basic option').prop('selected', true);
}
});
Run Code Online (Sandbox Code Playgroud)
要完成此工作,您需要使用委托change事件处理程序,因为动态创建下拉列表的内容.
然后你可以简单地调用selectAll或deselctAll基于checked第一个框的属性,如下所示:
$('#basic').multiselect({
templates: {
li: '<li><a href="javascript:void(0);"><label class="pl-2"></label></a></li>'
}
});
$(document).on('change', '.multiselect-container :checkbox:first', function() {
$('#basic').multiselect(this.checked ? 'selectAll' : 'deselectAll').multiselect('refresh');
});Run Code Online (Sandbox Code Playgroud)
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" />
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.13.0/umd/popper.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/js/bootstrap-multiselect.min.js"></script>
<div class="container">
<br /><br />
<select class="custom-select" id="basic" multiple="multiple">
<option value="0">All</option>
<option value="cheese">Cheese</option>
<option value="tomatoes">Tomatoes</option>
<option value="mozarella">Mozzarella</option>
<option value="mushrooms">Mushrooms</option>
<option value="pepperoni">Pepperoni</option>
<option value="onions">Onions</option>
</select>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
984 次 |
| 最近记录: |