Выпадающий список Select2 вообще не закроется - PullRequest
1 голос
/ 02 мая 2019

У меня есть элемент select с несколькими элементами option, но раскрывающееся меню не закроется после его открытия.

Я не знаю, почему он не работает в моем проектено он отлично работает на новом проекте.

$(document).ready(function() {
  $('#user-selection').select2();
});
<select id="user-selection" name="userId" style="width: 100%" required>
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>

Я что-то упустил?

1 Ответ

3 голосов
/ 02 мая 2019

Эта ошибка в последней версии select2, вы можете использовать прикрепленный файл. Я редактирую событие фокуса в select2.js

this.on("focus", function () {
    a.$container.addClass("select2-container--focus"), 
    a.$container.hasClass("select2-container--disabled") || a.isOpen() && (a.options.get("multiple") ? window.setTimeout(function () {
        a.open()
    }, a.options.get("ajax") ? 300 : 100) : a.open())
}),

с a.isOpen() || до a.isOpen() &&

<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6/css/select2.min.css" rel="stylesheet"/>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://dits.cloud/js/select2.js"></script>

<select id="user-selection" name="user" style="width: 100%" required>
    <option>1</option>
    <option>2</option>
    <option>3</option>
</select>

 <script>
    $(document).ready(function () {
        $('#user-selection').select2();
    });
</script>

Отредактировано select2.js

...