Select2 宽度问题,控件覆盖父宽度
Select2 width Issue, The control overrides that parent width
我在 bootstrap 网格中使用 Select2 控件,但是当我 select 下拉列表中的一个值更大(这里我指的是宽度)时,它会展开并覆盖由 "col-md" class 或 bootstrap
指定的宽度
though there are many workarounds mentioned on a similar issue
https://github.com/t0m/select2-bootstrap-css/issues/42
但其中 none 对我有用
请指导。我怎样才能将宽度限制为其容器元素的宽度
在那种情况下使用固定宽度并使用 overflow:auto 然后你可以限制 div 或任何标签的 with
我找到了解决问题的方法,
在输入组上,我将 Display 从 table 更改为 Block ,并且有效:)
我也尝试了各种建议的解决方法,但都没有效果。此外,我需要 select2 控件在调整 window 大小时正确调整大小,因此我定义了一个 reset_select2_size 函数,每次调整大小时都会调用该函数。尽管此处未显示,但只要 UI 组件中的任何更改需要重置该组件内的 select2 大小,也应调用此函数(例如,当包含 select2 的隐藏 div 变为可见时)。
从任何标准来看这都不是很漂亮,但在错误被修复之前对我来说似乎工作正常,
function reset_select2_size(obj)
{
if (typeof(obj)!='undefined') {
obj.find('.select2-container').parent().each(function() {
$(this).find('.select2-container').css({"width":"10px"});
});
obj.find('.select2-container').parent().each(function() {
var width = ($(this).width()-5)+"px";
$(this).find('.select2-container').css({"width":width});
});
return;
}
$('.select2-container').filter(':visible').parent().each(function() {
$(this).find('.select2-container').css({"width":"10px"});
});
$('.select2-container').filter(':visible').parent().each(function() {
var width = ($(this).width()-5)+"px";
$(this).find('.select2-container').css({"width":width});
});
}
function onWindowResized( event )
{
reset_select2_size();
}
window.addEventListener('resize', onWindowResized );
我在 bootstrap 网格中使用 Select2 控件,但是当我 select 下拉列表中的一个值更大(这里我指的是宽度)时,它会展开并覆盖由 "col-md" class 或 bootstrap
指定的宽度though there are many workarounds mentioned on a similar issue https://github.com/t0m/select2-bootstrap-css/issues/42
但其中 none 对我有用
请指导。我怎样才能将宽度限制为其容器元素的宽度
在那种情况下使用固定宽度并使用 overflow:auto 然后你可以限制 div 或任何标签的 with
我找到了解决问题的方法,
在输入组上,我将 Display 从 table 更改为 Block ,并且有效:)
我也尝试了各种建议的解决方法,但都没有效果。此外,我需要 select2 控件在调整 window 大小时正确调整大小,因此我定义了一个 reset_select2_size 函数,每次调整大小时都会调用该函数。尽管此处未显示,但只要 UI 组件中的任何更改需要重置该组件内的 select2 大小,也应调用此函数(例如,当包含 select2 的隐藏 div 变为可见时)。
从任何标准来看这都不是很漂亮,但在错误被修复之前对我来说似乎工作正常,
function reset_select2_size(obj)
{
if (typeof(obj)!='undefined') {
obj.find('.select2-container').parent().each(function() {
$(this).find('.select2-container').css({"width":"10px"});
});
obj.find('.select2-container').parent().each(function() {
var width = ($(this).width()-5)+"px";
$(this).find('.select2-container').css({"width":width});
});
return;
}
$('.select2-container').filter(':visible').parent().each(function() {
$(this).find('.select2-container').css({"width":"10px"});
});
$('.select2-container').filter(':visible').parent().each(function() {
var width = ($(this).width()-5)+"px";
$(this).find('.select2-container').css({"width":width});
});
}
function onWindowResized( event )
{
reset_select2_size();
}
window.addEventListener('resize', onWindowResized );