Подтвердить что ты не робот

Закрыть выделение select2 через javascript/jquery

Добрый день, Как я могу правильно закрыть выпадающее меню select2 через jquery или javascript??

теперь Im использует select2-dropdown.toggle(), чтобы закрыть его,

но я заметил, что он просто скроет список, и поле select2 все еще будет выделено enter image description here

Я хочу потерять фокус или что-то подобное, чтобы просто закрыть его и получить результат, подобный этому enter image description here.

тем, что снимки экрана темные, потому что эти ячейки select2 находятся под модальным бутстрапом, который появлялся бы всякий раз, когда я нажимаю enter.

Любые советы действительно будут оценены! Спасибо заранее

4b9b3361

Ответ 1

этот работает для меня $("#select2-drop-mask").click();

Ответ 2

Я знаю, что это старый вопрос, но для этого с помощью API вы просто выполните следующее:

Select2 API

 $("#select2-drop-mask").select2("close");

В этом вопросе также упоминается модальный диалог бутстрапов, который, как правило, является причиной, по которой люди хотят ее программно закрыть.

Для любой информации это так, как вы это делаете:

Bootstrap 3

$('#myModal').on('hidden.bs.modal', function () {
  $('#select2-drop-mask').select2("close");
})

Bootstrap 2

$('#myModal').on('hidden', function () {
   $('#select2-drop-mask').select2("close");
})

Ответ 3

В версии 4.0 ни один из других ответов не работал у меня. Использование jQuery для выбора только маски не имело эффекта. Мне пришлось использовать идентификатор самого окна выбора:

$("#mySelectElement").select2("close")

Это также сработало, но не может быть предпочтительным:

$("#mySelectElement").select2().trigger("select2:close");

Документация

Кроме того, для Bootstrap 3 событие hidden.bs.modal было слишком поздно, и маска select2 задерживалась на секунду во время анимации. hide.bs.modal работал немного более плавным для нас:

$('#modalYourModal').on('hide.bs.modal', function () {
    //close select2 in case its open
    $("#mySelectElement").select2("close");
});

Ответ 4

select2-dropdown-*mask* не работал у меня, но ниже было.

$('#select2-drop').select2('close');

Ответ 5

select2-dropdown.blur();

Я думаю, что это то, что вы ищете. Здесь у вас есть пример в JSFiddle, созданный мной только сейчас.