こんにちは、jqueryまたはjavascriptを使用してselect2ドロップダウンを適切に閉じるにはどうすればよいですか?
今のところselect2-dropdown.toggle()
を使用して閉じています。
しかし、それは単にリストを非表示にし、select2ボックスがまだ強調表示されていることに気付きました
私はそれを適切に閉じて、このような結果を思い付くことができるようにするために、それに焦点を当てるなどを失いたい 。
ちなみに、これらのselect2ボックスはbootstrapモーダルの下にあるため、スクリーンショットが暗いので、Enterキーを押すたびに表示されます。
アドバイスは本当にいただければ幸いです!前もって感謝します
これは私のために働きます$("#select2-drop-mask").click();
これは古い質問であることは承知していますが、APIを使用してこれを行うには、次のようにします。
Select2 API
$("#select2-drop-mask").select2("close");
この質問は、ブートストラップモーダルダイアログについても言及しています。
誰の情報でもこれはあなたがそれをする方法です:
ブートストラップ
$('#myModal').on('hidden.bs.modal', function () {
$('#select2-drop-mask').select2("close");
})
ブートストラップ2
$('#myModal').on('hidden', function () {
$('#select2-drop-mask').select2("close");
})
V4.0では、他の回答はどれもうまくいきませんでした。 jQueryを使用してマスクだけを選択しても効果はありませんでした。選択ボックス自体のIDを使用する必要がありました。
$("#mySelectElement").select2("close")
これも機能しましたが、好ましくない場合があります。
$("#mySelectElement").select2().trigger("select2:close");
また、Bootstrap 3の場合、hidden.bs.modal
イベントが遅すぎて、select2マスクがアニメーション中に1秒間残ります。 hide.bs.modal
は、よりスムーズに機能しました。
$('#modalYourModal').on('hide.bs.modal', function () {
//close select2 in case its open
$("#mySelectElement").select2("close");
});
select2-dropdown-*mask*
は機能しませんでしたが、以下は機能しました。
$('#select2-drop').select2('close');
select2-dropdown.blur();
これはあなたが探しているものだと思います。 ここ あなたは今私が作成したJSFiddleの例を持っています。