2014-02-08 1 views
12

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

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

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

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

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

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

+0

Try -> focus on any other element. –

+0

спасибо @TusharGupta за ваше предложение, но я уже это сделал, я установил, что мой текстовый блок на моем модальном объекте будет сфокусирован всякий раз, когда отображается модальный. – melvnberd

ответ

1
select2-dropdown.blur(); 

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

+0

поблагодарите @mbecares за ваш ответ. То же самое, что я думал, что я должен использовать функцию blur(), но он все еще не работает. Я использую текстовое поле, кстати, потому что вы не можете использовать функцию ajax select2 в «select», – melvnberd

20

Я знаю, что это старый вопрос, но для того, чтобы сделать это с помощью 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"); 
}) 
6

В v4.0, ни один из других ответов работал на меня. Использование jQuery для выбора только маски не имело эффекта. Я должен был использовать идентификатор самого окне выбора:

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

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

Documentation

Кроме того, для 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'); 
Смежные вопросы