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

选择select下拉option时切换对应按钮链接显示的脚本如何编写

实现步骤

你只需要给原有HTML补充少量标识,再配合CSS和原生JS即可实现需求,不需要引入第三方依赖:


1. 修改后的HTML代码

给下拉框加id方便元素获取,同时给第一个选项加selected属性实现默认选中:

<p>My html code</p>
<select id="pricingCycle">
<option selected>monthly</option>
<option>annually</option>
<option>triennially</option>
</select>

<div class="pricing-btn">
    <a href="<?php echo $ButtonLink1; ?>" class="btn"> Get started</a>
</div>
<div class="pricing-btn">
    <a href="<?php echo $ButtonLink2; ?>" class="btn"> Get started</a>
</div>
<div class="pricing-btn">
    <a href="<?php echo $ButtonLink3; ?>" class="btn"> Get started</a>
</div>

2. 补充CSS样式

默认隐藏所有按钮容器,避免页面加载时出现闪烁:

.pricing-btn {
    display: none;
}

3. 加入JS脚本

直接放在页面底部,或者放在DOMContentLoaded事件回调中执行即可:

// 获取所需元素
const cycleSelect = document.getElementById('pricingCycle');
const btnContainers = document.querySelectorAll('.pricing-btn');

// 切换显示对应按钮的核心函数
function togglePricingBtn() {
    // 按选中项的索引匹配对应按钮容器,索引0对应monthly、1对应annually、2对应triennially
    const selectedIndex = cycleSelect.selectedIndex;
    // 先隐藏所有按钮容器
    btnContainers.forEach(btn => btn.style.display = 'none');
    // 仅显示选中项对应的容器
    btnContainers[selectedIndex].style.display = 'block';
}

// 页面加载完成后执行一次,保证默认显示monthly对应的按钮
document.addEventListener('DOMContentLoaded', togglePricingBtn);
// 监听下拉框切换事件,选择变化时同步更新按钮显示
cycleSelect.addEventListener('change', togglePricingBtn);

逻辑说明

下拉框三个选项的顺序和三个按钮容器的顺序一一对应,不需要额外加自定义属性,维护成本低,所有主流浏览器都可以正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:42:01