我在一页中使用bootstrap
,jquery ui
,select2
等。这导致select2
下拉列表相对于-5px
的显示值(选择后)向左偏移select2
。
我尝试使用以下代码将下拉列表右移:
var select2_pos = $("html body span.select2-container.select2-container--default.select2-container--open").position();
select2_pos.left = select2_pos.left + 5;
$("html body span.select2-container.select2-container--default.select2-container--open").position(select2_pos);
但这给了我错误:
TypeError: select2_pos is null
有人知道我该怎么做吗?
答案 0 :(得分:0)
下拉列表的错误位置发生在您第一次单击下拉列表时以及在没有结果的搜索之后第一次单击下拉列表时。
Here is a workaround似乎适用于许多人(包括我)。我的实现如下:
<select class="form-control" data-use-select2="true" name="assessment[assigned_to_id]" id="assessment_assigned_to_id">
<option value="">Select User...</option>
<option value="12">org0user0@test.com</option>
<option value="11">org0user1@test.com</option>
</select>
<select class="form-control" data-use-select2="true" name="assessment[approver_id]" id="assessment_approver_id" >
<option value="">Select User...</option>
<option value="12">org0user0@test.com</option>
<option value="11">org0user1@test.com</option>
</select>
// data-select2 conflicts with library code. data-something-select2 works
// set the dropdownParent to fix positioning error
// https://github.com/select2/select2-bootstrap-theme/issues/41#issuecomment-310825598
$("select[data-use-select2]").each(function() {
$(this).select2({
theme: "bootstrap4",
dropdownParent: $(this).parent()
});
});