select2 with bootstrap主题 - 内部崩溃

Vai*_*dey 4 css twitter-bootstrap select2

初始化隐藏时,我无法获得select2下拉列表以适合父容器(折叠).我知道这不是一个错误,因为select2无法计算父宽度.但我无法克服这一点.我需要100%给父母.

<div class="panel panel-default">
  <div class="panel-body">
    <div class="btn-toolbar">
      <button class="btn btn-default" data-toggle="collapse" data-target="#collapse-select2" aria-expanded="false">Toggle</button>
    </div>
    <div class="collapse" id="collapse-select2">
      <select class="form-control" data-role="select2">
        <option value="1">Option #1</option>
        <option value="2">Option #2</option>
        <option value="3">Option #3</option>
      </select>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

小提琴:这里

有人可以帮忙吗?

mop*_*ped 8

其实很简单的解决方案

1.仅CSS解决方案
给出.select2100%宽度并覆盖!important如下:

.select2 {
  width: 100%!important; /* overrides computed width, 100px in your demo */
}
Run Code Online (Sandbox Code Playgroud)

这里也是你的更新小提琴https://jsfiddle.net/1agwbfmy/6/


2.样式标记用于选择
另一种方法来执行此操作,如文档中所述,为<select>元素赋予宽度style,它将从那里获取属性:
<select class="form-control" data-role="select2" style="width:100%">


3.
最后插件配置,您可以在jQuery中调用插件时设置宽度(如旧文档中所述):

$('select[data-role="select2"]').select2({
    theme: 'bootstrap',
    width: '100%'
});
Run Code Online (Sandbox Code Playgroud)