Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вывод выбранного пункта меню ul (https://javascript.ru/forum/dom-window/54101-vyvod-vybrannogo-punkta-menyu-ul.html)

Schokk 03.03.2015 16:36

Вывод выбранного пункта меню ul
 
Здравствуйте. Есть список ul. Он формируется через шаблон. Выглядит это так:
{start}
<li><a href="/activity/{id}-{translit}/1/{country}/{sortBy}">{name}</a></li>
{end}

В самом HTML фале так:
<ul id="menu" style="margin-left:35%; width:500px; background-color:white;">
		<li style="border:none; box-shadow:none;">
			<a style="border:none; color:black;">Рубрики</a>
			<ul>
				{module->categories}        
			</ul>
		</li>
	</ul>

В результате на странице так:
<ul id="menu" style="margin-left:35%; width:500px; background-color:white;">
		<li style="border:none; box-shadow:none;">
			<a style="border:none; color:black;">Рубрики</a>
			<ul>
				

<li><a href="/activity/28-/1/0/">Ассистентам стоматологов</a></li>

<li><a href="/activity/31-/1/0/">Вебинары</a></li>

<li><a href="/activity/32-/1/0/">Выставки</a></li>

<li><a href="/activity/18-/1/0/">Гигиена, пародонтология</a></li>

<li><a href="/activity/34-/1/0/">Дентальная фотография</a></li>

<li><a href="/activity/27-/1/0/">Зуботехника</a></li>

<li><a href="/activity/26-/1/0/">Ортодонтия</a></li>

<li><a href="/activity/25-/1/0/">Ортопедическая стоматология</a></li>

<li><a href="/activity/20-/1/0/">Терапевтическая стоматология</a></li>

<li><a href="/activity/15-/1/0/">Управление стомат. клиникой</a></li>

<li><a href="/activity/22-/1/0/">Хирургическая стоматология</a></li>

<li><a href="/activity/24-/1/0/">Эндодонтия</a></li>

<li><a href="/activity/33-/1/0/">Эстетическая стоматология</a></li>

        
			</ul>
		</li>
	</ul>

Нужно что бы после выбора <li>ссылка</li> этот заголовок отображался в верху вместо Рубрики. То есть было видно что ты выбрал. Помогите пожалуйста написать скрипт.

laimas 03.03.2015 16:45

Сервер же знает по параметру запроса /activity/22-/1/0/ какая страница запрашивается, и список этот формируется при каждом запросе страниц, значит при формировании не

<a style="border:none; color:black;">Рубрики</a>

а

<a style="border:none; color:black;">{name}</a>

для {id} равном параметру запроса. Или такое сравнение никак нельзя выполнить на сервере?

Schokk 03.03.2015 17:00

к сожалению нельзя( по этому и нужно что то типо онклик.

laimas 03.03.2015 17:19

Странно, что нельзя, ведь в шаблон отдаются данные подготовленные, достаточно изменить немного шаблон и передать в него значение для {name}.

По щелчку не получится, так как щелчок в меню, это переход на новую страницу. Значит надо при открытии документа получить текст элемента А, значение href которого равно текущему адресу.

jQuery используется или нет?

Schokk 03.03.2015 17:29

да, используется.

Schokk 03.03.2015 17:35

а можно ли это реализовать через id. то есть присваивать выбранному определенный id и выводить то у которого этот id.

laimas 03.03.2015 18:11

А каким образом знать какой ID нужен (хотя он в url и прописан)?
У вас адреса под mod_rewrite, тогда проще выкинуть из url протокол и домен, и результат сравнить с href ссылок. А элементу А, в который надо помещать этот текст укажите id, чтобы проще обращаться было к нему, тогда:

$(function() {
    $("#link").text($('#menu').find('a[href="'+location.href.substring(location.href.indexOf('/', 7))+'"]').text())
});


где link - id присвоенное элементу.


Часовой пояс GMT +3, время: 06:12.