2017-01-05 43 views
3

私はselect2を隠したり表示したりしたいのですが、APIでメソッドを見つけることができません。Select2を非表示/表示

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

をしかし、私は、誰が助けることができれば、さらにはAPIで、このような方法が存在するかどうかを知りたいのです:私はこのように、親を隠し、回避策を使用しています。

答えて

10

私は似たようなことをしますが、常に次のノードであるselect2コンテナを開始点から隠すように見えます。

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

だから私はあなたが

+0

これは役に立ちますが、質問のポイントにはなりません...もう一つの回避策です。 –

+1

それはありますが、あなたが探しているものを見つけることはできません。非常に少数のプラグインが、自分自身を隠すために組み込まれたプラグインを持っています。 – Bindrid

+0

あなたは私を冗談にしなければなりません。これは恐ろしいことですが、Select2を簡単に表示/非表示することはできません。これは吸う –

0

もう一つの回避策を持って同じアプローチを取っている - あなたは創造

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

でオブジェクトをSELECT2にクラスを追加...そしてときにそれを隠すことができますあなたとしたい

$(".show-hide").parent().parent().hide(); 
0

問題は、関連するすべてのアイテムを非表示にする必要があることです。 select2ドロップダウン(プラグインが生成したすべての魔法を実行)。

私は、select2ドロップダウンを含むdivを使ってこのdivを表示/非表示にしました。

関連する問題