Select2 改变容器位置
Select2 change container position
如何调整 Select2 容器的位置,使搜索框位于原始 select 元素的正上方,就像本网站中那样
在我看来 UI 看起来更干净。
Ps。抱歉,我现在无法 post 图片。
有两种方法可以做到这一点。
1) css:
.select2-dropdown--below {
top: -2.8rem; /*your input height*/
}
这不会影响容器(.select2-容器),但会移动下拉列表和搜索字段,因此您会得到预期的效果。
2) 使用 js:
$('select').select2().on('select2:open', function() {
var container = .$('.select2-container').last();
/*Add some css-class to container or reposition it*/
});
此代码将处理程序附加到 'select2:open' 事件,每次用户打开下拉菜单时都会触发该事件。如果您在页面上有多个 select。
,则此方法更好
使用 select2 4.0.0
测试
放置下拉菜单的正确方法是使用 select2 插件提供的核心功能。
它为我们提供了 'dropdownParent' 属性 以放置到特定元素内的下拉列表
select 字段:#edit-field-job-skillsets-tid
父项:div.form-item-field-job-skillsets-tid
jQuery("#edit-field-job-skillsets-tid").select2(
{dropdownParent: jQuery('div.form-item-field-job-skillsets-tid')}
);
如何调整 Select2 容器的位置,使搜索框位于原始 select 元素的正上方,就像本网站中那样
在我看来 UI 看起来更干净。
Ps。抱歉,我现在无法 post 图片。
有两种方法可以做到这一点。
1) css:
.select2-dropdown--below {
top: -2.8rem; /*your input height*/
}
这不会影响容器(.select2-容器),但会移动下拉列表和搜索字段,因此您会得到预期的效果。
2) 使用 js:
$('select').select2().on('select2:open', function() {
var container = .$('.select2-container').last();
/*Add some css-class to container or reposition it*/
});
此代码将处理程序附加到 'select2:open' 事件,每次用户打开下拉菜单时都会触发该事件。如果您在页面上有多个 select。
,则此方法更好使用 select2 4.0.0
测试放置下拉菜单的正确方法是使用 select2 插件提供的核心功能。
它为我们提供了 'dropdownParent' 属性 以放置到特定元素内的下拉列表
select 字段:#edit-field-job-skillsets-tid
父项:div.form-item-field-job-skillsets-tid
jQuery("#edit-field-job-skillsets-tid").select2(
{dropdownParent: jQuery('div.form-item-field-job-skillsets-tid')}
);