选择空选项时,Bootstrap-select clear

时间:2015-01-21 16:30:22

标签: jquery twitter-bootstrap bootstrap-select

我正在使用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个选项,但我还需要明确选择的选项。

例如,如果我选择USASpain,当我点击-clear-时,我需要清除其他选项并关闭下拉列表。

知道怎么做吗?

1 个答案:

答案 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');
  }
});

Stack Snippets中的演示

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