Как сделать выбраный пункт в Select Активным?

Сделал простое выпадающее меню для навигации по категориям сайта.
<select id="channel-select" name="channel" onchange="window.location.href = this.options[this.selectedIndex].value;"  >
		
	<option value="all">Name</option>
												
				<optgroup label="Name">
					<option value="url">Name</option>
					<option value="url">Name</option>
					<option value="url">Name</option>
					<option value="url">Name</option>
					<option value="url">Name</option>
					<option value="url">Name</option>
				</optgroup>
				
				<optgroup label="Name">
					<option value="url">Name</option>
					<option value="url">Name</option>
					<option value="url">Name</option>
					<option value="url">Name</option>
					<option value="url">Name</option>
				</optgroup>
</select>

И собственно проблема вот в чем: нужно сделать так, чтобы когда переходиш по ссылке или уже находишься в определенной категории, активным пунктом меню должен быть тот на котором находишься и становиться не кликабельным. Как это сделать?
  • Вопрос задан
  • 5123 просмотра
Решения вопроса 1
FeNUMe
@FeNUMe
Вот простейшее решение для подсветки активной страницы в меню, средствами js. В вашем случае нужно немного допилить для работы с селектом.

UPD.
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<select id="channel-select" name="channel" onchange="window.location.href = this.options[this.selectedIndex].value;">
    <option value="/">Все категории</option>

    <optgroup label="Name">
        <option value="/test.html">page 1</option>
        <option value="/test2.html">page 2</option>
    </optgroup>
</select>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</body>
<script type="application/javascript">

    $(document).ready(function () {
        var url = window.location.pathname;
        $('#channel-select option[value="' + url + '"]').attr({ 'disabled':'disabled', 'selected':'selected'});
    })
</script>
</html>
Простой пример
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
romanzhak
@romanzhak
Mathematician
Фиксируйте состояние вашего веб-приложения, например, с помощью History API. После чего можно проверять, где находится пользователь, и выполнять необходимые действия.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы