активное меню после перехода на другую страницу

398
04 мая 2017, 14:52

Добрый день. возник такой вопрос. Нужно оставить активными меню, при переходе на новую страницу или просто обновления страницы, которые были открыты.

У меня получилось сделать только для одного меню, которое было выбрано. При переходе на другую страницу я добавляю к URL'у hash (например #Submenu1), затем скриптом считываю его и открываю это подменю при загрузке страницы.

$(document).ready(function () {
    var x = window.location.hash;
    var hash = x.hash;
    $(hash).attr("class", "mainmenu collapse in")
});

Я пробую искать меню которые активны, но проблема в том, что сначала выполняется .click, а только потом открывается само меню. В итоге ищется на одно меню меньше.

$('a.bm').click(function () {
    $n = $('div.mainmenu.collapse.in');
});

Вторая проблема заключается в том, что $('div.mainmenu.collapse.in'); выдаёт результат типа: [div#SubMenu11.mainmenu.collapse.in, prevObject: jQuery.fn.init(1), context: document, selector: "div.mainmenu.collapse.in"] а мне хотелось бы получать только id этого элемента, а не всю строку .

Меню.

int index = 1;
    var ID = "SubMenu" + index;
    while (reader.Read())
    {
        if (groupName != reader["GROUPNAME"].ToString())
        {
            if (!string.IsNullOrEmpty(groupName))
            {
            @: </div>
            }
            groupName = reader["GROUPNAME"].ToString();
            ID = "SubMenu"+index;
            @: <a href="#@ID" class="list-group-item list-group-item-success bm" data-toggle="collapse">@groupName &nbsp;<i class="fa fa-caret-down"></i></a><div class="mainmenu collapse" id="@ID">
        }
        var link = string.Format("/{0}{1}", Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName, reader["URL"]);
        @: <a href="@link#@ID" class="list-group-item list-group-subitem " data-parent="@ID" description="@reader["DESCRIPTION"].ToString()">@reader["DOCNAME"].ToString()</a>
        index++;

так выглядит скомпилированный html код в браузере

<a href="#SubMenu1" class="list-group-item list-group-item-success bm" data-toggle="collapse">Registration &nbsp;<i class="fa fa-caret-down"></i></a><div class="mainmenu collapse" id="SubMenu1">
         <a href="/en/Template/Document/0948EA93957144459ED50CC98B5B1CA3#SubMenu1" class="list-group-item list-group-subitem " data-parent="SubMenu1" description="">Disclosure All docs</a>
         <a href="/en/Template/Document/63EA8AEB085F4ABCA34A02046B5188DC#SubMenu1" class="list-group-item list-group-subitem " data-parent="SubMenu1" description="Disclosure Part 2">Disclosure New</a>
         <a href="/en/Template/Document/80EBAB437EED4301809B252CC2A4B73C#SubMenu1" class="list-group-item list-group-subitem " data-parent="SubMenu1" description="">Disclosure  Submitted</a>
         <a href="/en/Template/Document/4BC79C93960E4ADEA04618337241EFCF#SubMenu1" class="list-group-item list-group-subitem " data-parent="SubMenu1" description="">Disclosure assigned</a>
         <a href="/en/Template/Document/BE1F59796784486D9131E65E888539A3#SubMenu1" class="list-group-item list-group-subitem " data-parent="SubMenu1" description="Inventor Application">Inventor Application</a>
         <a href="/en/Template/Document/735DC6864BFD44DC9FC771FBFB462E8D#SubMenu1" class="list-group-item list-group-subitem " data-parent="SubMenu1" description="Assessments">Assessments</a>
             </div>
READ ALSO
Цикл for с пошаговой итерацией на javascript

Цикл for с пошаговой итерацией на javascript

Подскажите, как исправить код, чтобы при каждом клике по btn_refresh запускался цикл и в консоле выводился результатТ

324
Анимация сжатия и расжатия мяча на js

Анимация сжатия и расжатия мяча на js

Есть мяч и 3 поверхности(бетон, дерево, ткань), мы задаем силу с которой он полетит внизНужны формулы для расчета сжатия и расжатия мяча

236
Почему данный код на JQuery не работает?

Почему данный код на JQuery не работает?

Нервничаю уже час, только начал изучать JQuery и тут такая ситуация, что код не работаетПочему?

234