javascript - 在隐藏的 div 中选择 2 全 Angular ?

标签 javascript html css jquery-select2

假设我有一个 select2 box在这样一个隐藏的 div 中:

<form >   
 <div id="agent007">
  <select name="slimy" id="slimy">
   <option>Good</option>
   <option>Bad</option>
  </select>
 </div>
</form>

选择框全宽,div隐藏

select{
  width:100%
}

div{
  display:none;
}

当我使 div 可见时,选择框没有全宽。

$(document).ready(function(){
  $('#slimy').select2();
  $('#agent007').show();
});

我怎样才能制作 select2 box隐藏在一个看不见的容器中的全宽?

这是一个jFiddle

最佳答案

您可以通过 Select2 Configuration API 以编程方式设置宽度.文档清楚地表明,有时这是您的最佳选择:

Select2 will try to match the width of the original element as closely as possible. Sometimes this isn't perfect, in which case you may manually set the width configuration option

$(document).ready(function(){
  $('#slimy').select2({'width':'100%'});
  $('#agent007').css('display','block');
});
select{
  width:100%
}

div{
  display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>


<form >   
 <div id="agent007">
  <select name="slimy" id="slimy">
   <option>Good</option>
   <option>Bad</option>
  </select>
 </div>
</form>

注意:由于 jQuery 的 show() 和堆栈片段之间的冲突,我在这里使用了 css('display','block') 作为解决方法

关于javascript - 在隐藏的 div 中选择 2 全 Angular ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51843241/

相关文章:

javascript - 无法将 attrs.value 移交给 Directive 的 templateUrl 函数

html - 将图像移到主要内容 CSS 后面

html - 如何在 <div> 标签中给出分区?

css - Div 在不使用 IFrame 的情况下忽略所有父级 css

html - 如何向这些 CSS 消息气泡添加滑动 div?

html - 对齐中心不起作用

javascript - 我怎样才能使这段代码更短

javascript - 当内容太大时,对话的第一定位不好

JavaScript 不适用于隐藏和显示文本框

javascript - 从另一个页面使用 JavaScript