Как сделать активным выпадающий элемент начальной загрузки? - PullRequest
0 голосов
/ 31 мая 2018

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

$(document).ready(function () {
    var url = window.location;

    $('ul.navbar-nav a[href="'+ url +'"]').parent().addClass('active');

    $('ul.navbar-nav a').filter(function() {
        return this.href == url;
    }).parent().addClass('active');
});

Но когда дело доходит до выпадающего типа элементов панели навигации, мой код не работает.Вот мой navbar.

<ul class="navbar-nav mr-auto" id="navbar-list">
    <li class="nav-item admin-menu">
        <a class="nav-link" href="{{ route('teams.index') }}">Takımlar</a>
    </li>
    <li class="nav-item dropdown admin-menu">
        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"
           data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Hakem Yönetimi
        </a>
        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
            <a class="nav-link" href="{{ route('referees.index') }}">Hakamler</a>
            <a class="nav-link" href="{{ route('referees.index') }}">Hakem Atamalar</a>
        </div>
    </li>
    <li class="nav-item admin-menu">
        <a class="nav-link" href="{{ route('reports.index') }}">Haberler</a>
    </li>
</ul>

Как я могу решить эту проблему?

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 31 мая 2018

Поскольку у a ссылок в раскрывающемся списке родительский элемент отличается от nav-item, поэтому «активный» класс назначается классу dropdown-menu вместо элемента навигационной панели.

Я думаю, это должно быть:

$(document).ready(function () {
    var url = window.location;
    $('ul.navbar-nav a[href="'+ url +'"]').parents('.nav-item').addClass('active');
});

Также метод JQuery parent ищет только 1 родительский уровень.

...