我正在使用bootstrap-select这样:
<select name="country_key" class="show-menu-arrow" multiple
data-container="body" data-width="250px" >
<option value="">-clear-</option>
<option value="1">USA</option>
<option value="2">Russia</option>
<option value="3">China</option>
<option value="4">Spain</option>
</select>
我可以选择multiple
个选项,但我还需要明确选择的选项。
例如,如果我选择USA
和Spain
,当我点击-clear-
时,我需要清除其他选项并关闭下拉列表。
知道怎么做吗?
答案 0 :(得分:1)
您可以通过调用.selectpicker('deselectAll')
以编程方式清除所选选项。
您还需要点击选择框的更改事件,以查看是否需要调用该方法。要做到这一点,只需monitor the change
event on the original select element。
$('#country_key').on('change', function(){
if (this[0].selected) {
$(this).selectpicker('deselectAll');
}
});
$('#country_key').on('change', function(){
if (this[0].selected) {
$(this).selectpicker('deselectAll');
}
});
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.3/css/bootstrap-select.css" rel="stylesheet"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.3/js/bootstrap-select.js"></script>
<select id="country_key" data-container="body"
class="selectpicker show-menu-arrow" data-width="250px" multiple>
<option value="" >-clear-</option>
<option value="1">USA</option>
<option value="2">Russia</option>
<option value="3">China</option>
<option value="4">Spane</option>
</select>