【问题标题】:Bootstrap-select clear when chosen empty option选择空选项时引导选择清除
【发布时间】:2015-01-22 01:35:19
【问题描述】:

我正在像这样使用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-时,我需要清除其他选项并关闭下拉菜单。

知道怎么做吗?

【问题讨论】:

  • 你试过什么? Bootstrap-select 组件确实有一些方法,包括“取消全选”,我猜你只需要添加一个 onclick 监听器。你为什么要这样实现呢?单独的清算控制会是更好的选择。
  • 请给我写代码,我不知道怎么做。我需要这个功能,因为如果用户选择2-3选项,可能他们想取消选择,当点击清空选项时,他选择...这个空选项我需要。

标签: jquery twitter-bootstrap bootstrap-select


【解决方案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>

【讨论】:

  • 很好,谢谢。但是在我的页面上不想工作,Chrome 控制台,看不到错误。嗯。
  • 我正在使用 id 选择器来获取 #country_key,因此您应该将其添加到您的页面中。如果它在 sn-p 中为您工作。只需开始逐行复制演示,看看它在哪里中断。我们无法在您的屏幕上调试我们看不到的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-08
  • 2019-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
相关资源
最近更新 更多