0

ツリーメニューがあります。

リンクをクリックした後、ポストバック後にこのメニューを開いたままにするにはどうすればよいですか?

Obs: 私は ASP.NET C# を使用しています

助けていただけますか?

jQuery(".menu li").on('click', function (e) {
    e.stopPropagation();

    if (jQuery(this).children().prop("tagName") == "A") {
        jQuery(".menu li a").parent(".item-selected").removeClass('item-selected').addClass('item');
    }

    if (jQuery(this).hasClass('item')) {
        jQuery(this).removeClass('item').addClass('item-selected');
    }

    else if (jQuery(this).hasClass('item-selected')) {
        jQuery(this).removeClass('item-selected').addClass('item');
    }

    jQuery(this).children('ul').slideToggle();
});

このフィドルを確認してください: http://jsfiddle.net/fzy48/8/

4

1 に答える 1

0

リンクが別のページへの実際の URL リンクである場合、正確にはできません。jQuery は、現在のページにのみ適用されます。一方、そのように見えるものを管理したい場合は、ちょっとした手間とサーバー側の動的なヘルプがあればできます。基本的には、保存したい状態 (ツリー メニューの状態などの詳細度) をサーバーに渡し、同じ情報を次のページに送り返す必要があります。次に、そのページは、動的に生成された一連の javascript var 呼び出しとしてページに組み込みます。次に、それらの変数を探してメニューを適切に設定する jQuery 関数を pageload に配置します。したがって、次のページに移動すると、メニューは左に開いた場所まで開きます。

于 2013-03-13T20:10:11.317 に答える