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

如何用PHP/JS动态限制表单select下拉框的年份选项范围

动态生成近5年(含当前年)选择下拉框方案

你可以根据项目技术栈选择JavaScript前端实现或者PHP服务端实现,两种方案都会自动计算年份范围,不需要每年手动硬编码修改选项。

JavaScript 实现方案

适合纯静态页面、前后端分离场景,页面加载时自动在浏览器端渲染年份选项:

<div class="col-12">
     <select class="form-select bg-light border-0" style="height: 55px;">
             <option selected>Years</option>
      </select>
</div>

<script>
document.addEventListener('DOMContentLoaded', () => {
    const yearSelect = document.querySelector('.form-select');
    const currentYear = new Date().getFullYear();
    // 从当前年往前推4年,加上本年共5个年份选项
    for (let year = currentYear - 4; year <= currentYear; year++) {
        const opt = document.createElement('option');
        opt.value = year;
        opt.innerText = year;
        yearSelect.appendChild(opt);
    }
})
</script>

PHP 实现方案

适合服务端渲染的PHP项目,页面输出时就直接生成完整的年份选项,不依赖客户端JS:

<div class="col-12">
     <select class="form-select bg-light border-0" style="height: 55px;">
             <option selected>Years</option>
             <?php
             $currentYear = date('Y');
             // 循环输出近5年选项
             for ($year = $currentYear - 4; $year <= $currentYear; $year++) {
                 echo sprintf('<option value="%d">%d</option>', $year, $year);
             }
             ?>
      </select>
</div>

补充说明:两种方案的年份范围会自动跟随系统时间更新,始终保持可选范围为当前年份+之前4年,合计5个有效年份值,和提供的静态示例结构完全兼容,不需要修改原有样式和类名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 23:24:15