web-dev-qa-db-ja.com

Select2の非表示/表示

Select2を非表示または表示したいのですが、APIにメソッドが見つかりません。次のように、親を非表示にして回避策を使用しています:

$(document).on('change', '.country', function () {
    if ($(this).val() == $(this).data('current-countryCode')) {
        $('#states').parent().show();
    }
    else {
        $('#states').parent().hide();
    }
});

しかし、誰かが助けることができるかどうか、またはそのようなメソッドがAPIに存在するかどうかを知りたいです。

15
Marquinho Peli

同様のことを行いますが、開始点から常に次のノードであるselect2コンテナーを非表示にします。

$(document).on('change', '.country', function () {
    if ($(this).val() == $(this).data('current-countryCode')) {
        $('#states').next(".select2-container").show();
    }
    else {
        $('#states').next(".select2-container").hide();
    }
});

だから私はあなたが持っているのと同じアプローチを取っている

26
Bindrid

これは私のために働いた..

jQuery("#my-select2").select2().next().hide();
4
Zein

問題は、select2ドロップダウンに関連付けられているすべてのアイテム(プラグインがマジックを実行するために生成するすべて)を非表示にする必要があることです。

Select2ドロップダウンを含むdivを使用して解決し、このdivを表示/非表示にしました。

1
Pila 77

もう1つの回避策-作成時にselect2オブジェクトにクラスを追加できます

$("#user-box").select2({
    containerCssClass : "show-hide"
});

...そして、必要なときに非表示にします

$(".show-hide").parent().parent().hide();
1
dMedia

4.0.6を使用しています

https://select2.org/programmatic-control/methods

閉じる

$('#YourId').select2('close');

開く

$('#YourId').select2('open');
0
Mo D Genesis