jquery - クリックイベントを含む複数のドロップダウンメニュー

jquery html css

したがって、ページにドロップダウンメニューがさらにあり、いずれかをクリックしたときに、開いている他のドロップダウンメニューを非表示にするにはどうすればよいですか?

$('nav ul li.sub-menu > a,nav ul li.sub-menu2 > a').click(function(){
    $('.open-menu').toggle();
        $('.active_menu').removeClass('active_menu');
        $(this).parent().toggleClass('active_menu');
        $(this).parent().find('ul').toggleClass('open-menu').toggle();
    return false;
});


.open-menuを使用して、アクティブなときにドロップダウンに追加しました。active_menuは、アクティブなリンクのスタイルを設定するためのものです。

// Le

$(document).ready(function() { 
    $('.sub-menu > a').click(function(){
            $('.sub-menu ul').toggleClass('open-menu');
            $(this).parent().find('ul').toggleClass('open-menu');
        return false;
    });
});


これで、クリックしたメニューが開きません。他のメニューが開きます
答え
通常、私がこの状況で行うことは、すべてのドロップダウンに次のようなクラスを与えることです

<select name="MyDropDown" class="DropDownGroup" > <option>1</opion> </select>


すべてのドロップダウンにはこのクラスがあるので、クリックしたものを除いてすべてを簡単に無効にすることができます。単に次のようにしてください

$(".DropDownGroup").live("click", function(){
   $(".DropDownGroup").hide();
   $(this).show();
});


今、これはあなたが望んでいたものであると私が想定したクリックのみをカバーしますが、インデックスの変更時にそれを行う必要があるかもしれません。
関連記事

jquery - js.erbファイルからform_for @modelを挿入しますか?

jquery - クラスの追加をスキップする入力フィールドからのキーボードナビゲーション

javascript - jQueryを使用してiframe URLを変更する

javascript - リスト項目をdivの上に表示する

javascript - FacebookアプリケーションのキャンバスページからWebページにユーザーを移動する方法

javascript - jQueryのスクロールDIVがジャンプして正しく配置されない

jquery - jqueryは動的にテーブルを追加している間自動トリムを防ぎます

javascript - jquery show tips関数がWebkitベースのブラウザーで機能しない

javascript - ドラッグ可能な要素をターゲットにドロップする

jquery - jQuery拡張クラスと関数の問題