Закрыть ЛЮБЫЕ выпадающие списки Select2 с помощью jQuery - PullRequest
0 голосов
/ 11 октября 2019

Кто-нибудь знает, как программно закрыть Select2 , не зная ID ? Просто в принципе, если есть открытый Select2, закройте его.

(Если кто-то открывает модал (содержащий Select2), открывает раскрывающийся список, а затем щелкает по / модальности / dimisses, модал закрывается, но Select2продолжает показывать до следующего щелчка.)

Например, это работает НО вам нужно знать идентификатор :

// If a Modal is hidden, close the Select2 contained therein
$(document).on('hide.bs.modal', '.modal', function() {
    $("#myDropdown").select2("close");
});

И это (выбор по классам) не работает - по крайней мере, для меня:

$(document).on('hide.bs.modal', '.modal', function() {
    $(".select2").select2("close");
});

Я знаю, что есть и другие подобные темы, но я рассмотрел кучу и не нашел решения.

Например: закрыть выпадающий список select2 через javascript / jquery

Есть идеи?

1 Ответ

0 голосов
/ 11 октября 2019

Хорошо, я понял это. Добавьте уникальный (не class = "select2") класс ко всем выпадающим спискам Select2, которые у вас есть в модалах, а затем используйте этот код:

// If a Modal is hidden, close any open Select2 contained therein - so it doesn't lag behind
$(document).on('hide.bs.modal', '.modal', function() {
   $(".select2-close").select2("close");
}); 

Кажется, это хорошо работает. (В этом случае я создал класс с именем select2-close )

...