You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据下拉菜单选择显示指定HTML元素,默认隐藏两个柱状图

实现方案

1. 调整CSS样式

首先给图表容器设置默认隐藏规则,新增激活状态的显示样式,修改后的CSS如下:

/* 原有样式保留,新增/修改以下部分 */
.chart-container{
    display: none; /* 默认隐藏所有图表容器 */
    padding: 20px;
    min-height: 100%;
}
/* 新增激活类,匹配时显示图表 */
.chart-container.active {
    display: flex;
}

.chart{
    border: 1px black solid;
    width: 500px;
}

.salary{
    margin: 20px;
}

.age{
    margin: 20px;
}

.name{
    margin: 20px;
}

2. 添加JavaScript控制逻辑

监听下拉菜单的选择事件,根据选中值切换对应图表的显示状态:

// 获取DOM元素
const selectEl = document.getElementById('option');
const salaryChart = document.querySelector('.salary-chart');
const ageChart = document.querySelector('.age-chart');

// 监听下拉菜单变化事件
selectEl.addEventListener('change', function() {
    // 先隐藏所有图表
    salaryChart.classList.remove('active');
    ageChart.classList.remove('active');
    
    // 根据选中值显示对应图表
    const selectedValue = this.value.trim();
    if (selectedValue === 'Sort by Salary') {
        salaryChart.classList.add('active');
    } else if (selectedValue === 'Sort by Age') {
        ageChart.classList.add('active');
    }
    // 选中select选项时无需额外操作,已经全部隐藏
});

补充说明

你原有HTML中<input>标签嵌套<select>的写法不符合规范,input是单标签不需要闭合包裹其他元素,你可以直接移除没用的<input type="number" id="options" value="" style="display:none">和对应的闭合标签,不影响功能运行。

内容的提问来源于stack exchange,提问作者Taihuynh812

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:27:02