select选择框option重复问题

今天公司要求根据后端传过来的数据做一个图表,可在选择框选择相应数据进行展示,效果如图所示:
在这里插入图片描述选择指标会出现相对应的图表,但是后台传过来的数据大概是酱紫的,
KPI.json

{"KPI":[{
	"JPIIndexId":1,
	"KPIIndexName":"出院患者占比",
	"KPIValue":3,
	"InputDate": "2020-01-12"
},
{
	"JPIIndexId":2,
	"KPIIndexName":"出院患者手术人数",
	"KPIValue":4,
	"InputDate": "2020-01-12"
},
{
	"JPIIndexId":1,
	"KPIIndexName":"出院患者占比",
	"KPIValue":5,
	"InputDate": "2020-01-13"
},
{
	"JPIIndexId":2,
	"KPIIndexName":"出院患者手术人数",
	"KPIValue":6,
	"InputDate": "2020-01-13"
},
{
	"JPIIndexId":1,
	"KPIIndexName":"出院患者占比",
	"KPIValue":7,
	"InputDate": "2020-01-14"
},
{
	"JPIIndexId":2,
	"KPIIndexName":"出院患者手术人数",
	"KPIValue":8,
	"InputDate": "2020-01-14"
}
]}

其中KPIIndexName就是指标名,但是他有很多重复的。

所以我们在下拉选择框时要避免出现重复数据。正常情况下我们这样写

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>echarts-JSON请求数据</title>
		<!-- <link rel="shortcut icon" href="../js/echarts-2.2.7/doc/asset/ico/favicon.png"> -->
		<script type="text/javascript" src="js/jquery.min.js"></script>
		<script type="text/javascript" src="js/echarts.common.min.js"></script>
		<!-- <script type="text/javascript" src="js/map.js"></script> -->

	</head>
	<body style="background-color: aliceblue;">
		<!-- 出院患者手术占比 -->
		<div>
			<select id="indexId">
				<!-- <option value="">-- 请选择 --</option> -->
			</select>
		</div>
	</body>
	<script>
		$(document).ready(function() {
			var index = $("#indexId");
			$.get('data/KPI.json').done(function(data) {
				console.log(data.KPI);
				console.log("json的值");
				for (var i = 0; i < data.KPI.length; i++) {
					**index.append("<option value='" + data.KPI[i].JPIIndexId + "'>" + data.KPI[i].KPIIndexName + "</option>");**
				}
			});
		});
	</script>
</html>

他的效果是这样的:
在这里插入图片描述处理重复数据时,我们借助map来实现

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>echarts-JSON请求数据</title>
		<!-- <link rel="shortcut icon" href="../js/echarts-2.2.7/doc/asset/ico/favicon.png"> -->
		<script type="text/javascript" src="js/jquery.min.js"></script>
		
	</head>
	<body style="background-color: aliceblue;">
		<!-- 出院患者手术占比 -->
		<div>
			<select id="indexId">
				<!-- <option value="">-- 请选择 --</option> -->
			</select>
		</div>
	</body>
	<script>
		$(document).ready(function() {
			var index = $("#indexId");
			var map = new Map();
			$.get('data/KPI.json').done(function(data) {
				for (var i = 0; i < data.KPI.length; i++) {
					map.set(data.KPI[i].JPIIndexId, data.KPI[i].KPIIndexName);
				}
				map.forEach(function(value, key, map){
					index.append("<option value='" + key + "'>" + value + "</option>");
				})
				console.log(index);
			});
		});
	</script>
</html>

这段代码就可以帮我们实现目标啦
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要修改select选择中被选中的背景颜色,可以使用CSS的:active伪类来设置。设置方法如下: 1. 首先需要将option元素的背景颜色设为透明,可以使用如下CSS代码: option{ background-color: transparent; } 2. 然后使用:active伪类来设置选中时的背景颜色,如下所示: select:active option:checked{ background-color: #f00; } 其中,#f00为选中时的背景颜色,可以根据需要进行修改。 ### 回答2: 在 CSS 中修改 select 选择 option 被选中的背景颜色可以使用伪类选择器来实现。具体的步骤如下: 首先,为 select 元素添加样式,使其能够显示为下拉选择。 ``` select { display: block; width: 200px; height: 30px; border: 1px solid #ccc; background-color: #fff; padding: 5px 10px; font-size: 16px; } ``` 接着,为 select 元素的 option 元素添加伪类选择器,使其在被选中时呈现不同的背景颜色。 ``` select option:checked { background-color: #f00; color: #fff; } ``` 这里,我们使用了 :checked 伪类选择器,来选中 select 元素中被选中的 option 元素。然后我们通过修改它的 background-color 和 color 属性,来改变选中状态下的样式。在这个例子中,我们将背景色改为红色,并将字体颜色改为白色。 需要注意的是,不是所有浏览器都支持为 selectoption 元素使用伪类选择器。因此,如果您的样式并未生效,请检查浏览器的兼容性。 ### 回答3: 在使用CSS修改select选择option被选中的背景颜色之前,我们需要了解一些基础知识。Select选择是HTML中的一个标准表单元素,通过这个元素,用户可以从多个选项中选择一个选项进行提交。在HTML中,select元素包含一个或多个option元素,表示可供选择的选项列表。当用户点击选择列表中的某个选项时,该选项将被选中,并在选择列表中显示为当前选中的选项。 在默认情况下,选中的option元素会显示为具有不同颜色的背景颜色。这是因为浏览器为选中的选项元素设置了默认样式。如果我们想修改这个背景颜色,就需要使用CSS来实现。 首先,我们需要为select元素和option元素分别设置样式。针对select元素,我们可以设置背景颜色和字体样式等属性。例如: select { background-color: #fff; border: 1px solid #ccc; font-size: 16px; padding: 10px; } 对于option元素,我们可以使用选择器来指定选中的选项背景颜色。例如: option:checked { background-color: #f5f5f5; } 在这个选择器中,使用了:checked伪类,表示选中的选项元素。我们可以给这个元素设置一个背景颜色,来修改选中的选项的背景颜色。 此外,如果想为选中的选项设置除了背景颜色之外的样式,例如字体颜色、字重等属性,也可以在这个选择器中一并设置。例如: option:checked { background-color: #f5f5f5; color: #333; font-weight: bold; } 以上就是使用CSS修改select选择option被选中的背景颜色的方法。需要注意的是,在设置背景颜色时,应该与整个页面的配色风格相一致,以达到良好的视觉效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值