行に select2 ドロップダウン (div のみ) があり、その行全体をクリックしてドロップダウンをトリガーできるようにする必要があります。見せるのは問題ないのですが、隠そうとするのが面倒くさくて、私の論理がどこか間違っているのではないかと思っています。select2 AFAIK には、現在のバージョンのトグル メソッドがないため、open メソッドと close メソッドを手動で使用する必要があります。これは私が試したものです。
$('[data-variable-type=select]').on('click', function(e){
e.stopPropagation();
var _dropdown = $(this).find('div.interface_dropdown');
if( _dropdown.hasClass('select2-dropdown-open') ) {
$(this).find('select.interface_dropdown').select2('close');
}
else {
$(this).find('select.interface_dropdown').select2('open');
}
});
これにより、正しく開きますが、クリックして閉じると、マウスダウンで閉じますが、マウスアップで再び表示されます。
うまく切り替える方法はありますか?