0

我在一页中使用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

有谁知道我怎么能做到这一点?

4

1 回答 1

0

第一次单击下拉菜单以及在没有结果的搜索后第一次单击下拉菜单时,会出现下拉菜单的错误位置。

这是一个似乎适用于许多人(包括我)的解决方法。我的实现如下:

<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()
        });
    });
于 2019-07-25T14:11:54.960 回答