【问题标题】:Bootstrap Selectpicker data-subtext disappearsBootstrap Selectpicker 数据潜文本消失
【发布时间】:2018-02-21 18:54:33
【问题描述】:

一直在使用 Bootstrap Selectpicker,但是当我将数据内容添加到数据子文本以突出显示颜色的选择时,子文本消失了。尝试了各种方式,但潜台词仍然从下拉列表中消失。有什么想法或解决方法吗?

请原谅缺少代码,我的所有东西都在本地运行,因为我的慢速宽带与 CDN 相冲突。

<select class="selectpicker" data-style="btn-light" data-width="100%" multiple data-max-options="2">
<option data-content="<span class='label label-success'>Choice1</span>" data-subtext="Subtext1">Choice1</option>
<option data-content="<span class='label label-info'>Choice2</span>" data-subtext="Subtext2">Choice2</option>
<option data-content="<span class='label label-warning'>Choice3</span>" data-subtext="Subtext3">Choice3</option>
</select>

【问题讨论】:

  • 是的,我有一个想法:Edit 你的问题并通过点击 "JavaScript/HTML/ 在底部发布你的完整当前code snippet CSS sn-p" 图标。

标签: bootstrap-4 bootstrap-selectpicker


【解决方案1】:

这是一种方法/解决方法:

$('select.selectpicker').selectpicker();
.bootstrap-select .filter-option .text-muted {
  display: none;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<script src="https://code.jquery.com/jquery-3.2.1.js"></script>
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>


<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/css/bootstrap-select.min.css">

<!-- Latest compiled and minified JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/js/bootstrap-select.min.js"></script>


<select class="selectpicker" data-style="btn-light" data-width="100%" multiple data-max-options="2">
<option data-content="<span class='label label-success'>Choice1 </span> <small class='text-muted'>Subtext1</small>">Choice1</option>
<option data-content="<span class='label label-info'>Choice2 </span><small class='text-muted'>Subtext2</small>">Choice2</option>
<option data-content="<span class='label label-warning'>Choice3 </span><small class='text-muted'>Subtext3</small>">Choice3</option>
</select>

删除了data-subtext 属性并在data-content 中添加了相同的HTML(只需添加CSS 类text-muted,例如:

<option data-content="<span class='label label-success'>Choice1 </span> <small class='text-muted'>Subtext1</small>">Choice1</option>

添加了 CSS 以隐藏所选选项的潜台词。尝试删除它,您会注意到不同之处。

希望这会有所帮助。

编辑

要基于克隆元素使多个选择器工作,而不是添加类 carerClasscarerCopy,将它们添加为 ID 或 data- 属性并基于此克隆它们。添加类的问题是selectpicker 初始化会选择这些类并将其添加到生成的引导 HTML 代码中,这会使克隆保持循环并弄乱选择。有关更多详细信息,请检查 non-working fiddle 中克隆元素的 DOM。

  1. 更改您添加到 ID 或数据属性的类。

  2. 首先克隆选择元素,然后启动选择器。

这是你的小提琴的一个分支:

https://jsfiddle.net/z7xzt96a/

【讨论】:

  • 感激不尽!我已经玩了好几天了。没想到我会得到答复。今天我终于想到我应该隐藏文本,只在下拉菜单显示时显示,但事件对我来说越来越好。仍在学习,但非常感谢您的工作:-)
  • 不客气。我昨晚看了这个问题,然后认为这可以通过查看用于subtext 的 HTML 轻松完成。我个人喜欢这种用法(问题),也许我会在我的一些应用程序中使用它。无论如何,很高兴我能帮上忙。享受编码! :)
  • 它工作得很好,但是每当我克隆代码以便我可以有多个下拉菜单时,它只在第一个实例中工作。基本上,这个下拉菜单有一整天的每个小时都会选择一个选项,总共有 24 个下拉菜单。是让每一个都独一无二吗?不知道怎么做,可能使用JS?有任何想法吗?如果我复制代码,每个单独的下拉菜单都可以正常工作。我正在克隆它以减少 html,但这就是我遇到问题的地方。
  • 您能否添加一个带有几个克隆的小提琴并重现该问题以便我可以分叉?
  • 通过 ID 使它们独一无二是我可以通过阅读您的查询来建议的!小提琴可以帮助我更好地理解问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-02
  • 2018-01-14
  • 1970-01-01
  • 2020-02-05
  • 1970-01-01
相关资源
最近更新 更多