javascript - 如何根据用户从 - 选择下拉菜单中所做的选择启用/禁用和更改某些链接的颜色 -

标签 javascript jquery html css drop-down-menu

您好。 任何帮助将不胜感激!

我有一个 html 文件,其中有一个带有 5 个选项的选择下拉菜单,在它的正下方将有一个尚未确定的链接数量。

当用户到达此页面时,下拉菜单将位于其默认选项中,即“选择一个选项”。在这种状态下,下面的所有链接都应该不可点击并显示为灰色(禁用)。

然后,根据用户从下拉菜单中的选择,下面的一些链接应将其颜色更改为蓝色并应变为可点击,而其他一些应保持不可点击并显示为灰色。

我们需要这个的原因是因为链接指向资源,而并非所有资源都可用于下拉菜单中的所有选项。

我没有使用 Javascript/JQuery 的经验,所以我知道如何应用样式,但不知道如何有条件地应用。

.select-box {
	border-radius: 5px;
	font-size: 18px;
	height: 35px;
	width: 200px;
}

.resource-link {
	border:  solid;
	border-width: 4px;
	border-color: grey;
	border-radius: 10px;
	color: grey;
	display: inline-block;
	height: 40px;
	margin-right: 75px;
	margin-top: 20px;
	text-align: center;
	width: 100px;
}
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Test</title>
  <link rel="stylesheet" type="text/css" href="test.css">
</head>
<body>

	<select class="select-box">
		<option value="choose">Choose an option</option>
		<option value="Option1">Option 1</option>
		<option value="Option2">Option 2</option>
		<option value="Option3">Option 3</option>
		<option value="Option4">Option 4</option>
		<option value="Option5">Option 5</option>
	</select>

	<ul >
		<a href="resource1.html">
			<div class="resource-link">
				Link to Resource 1
			</div>
		</a>
		<a href="resource2.html">
			<div class="resource-link">
				Link to Resource 2
			</div>
		</a>
		<a href="resource3.html">
			<div class="resource-link">
				Link to Resource 3
			</div>
		</a>
		<a href="resource4.html">
			<div class="resource-link">
				Link to Resource 4
			</div>
		</a>
		<a href="resource5.html">
			<div class="resource-link">
				Link to Resource 5
			</div>
		</a>
	</ul>
</body>
</html>

最佳答案

使用 jQuery 并执行如下操作:

$('.select-box').on('change', function() {
    $('.link').attr('disabled','disabled');
    $('.link.' + $(this).val()).removeAttr('disabled');
});

然后在每个链接上放置适当的类,如下所示:

<a href="whatever" class="link option1" disabled>whatever</a>

关于javascript - 如何根据用户从 - 选择下拉菜单中所做的选择启用/禁用和更改某些链接的颜色 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42727557/

相关文章:

Javascript 类 - 如何使属性成为必需和可选

javascript - 在对象内部声明变量给我错误

javascript - 如何阻止空输入字段影响表单中的计算

php - 表单未将数据传递到数据库但没有错误 Laravel 5.8.22

javascript - 无法理解 redux 形式的一些代码

javascript - 无法将路由从 react-router v3 转换为 v4

javascript - chrome setTimeout 和 fade

javascript - 悬停时的IE8过渡

html - 如何从不提供API的网站获取数据? swift

javascript - 以 Angular 将父指令变量传递给子指令