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

如何设置日期选择器年份范围?ASP.NET MVC中如何固定起始年份?

Hey there! Let's break down your two datepicker questions with practical fixes based on your code:


问题1:如何为日期选择器设置包含起始年与结束年的年份范围?

jQuery UI Datepicker的yearRange选项支持两种灵活的设置方式来定义年份范围:

  • 相对年份(基于当前年份):
    你当前代码里的yearRange: "-60:+0"就是这种写法,它表示“从当前年份往前推60年,到当前年份”。比如今年是2024,这个范围就对应1964-2024。

  • 绝对年份(固定具体数值):
    如果需要明确指定固定的起始和结束年份,直接写成"起始年:结束年"的格式即可。比如想把范围限定在1950到2000年:

    $(document).ready(function () {
        $('input[type=datetime]').datepicker({
            dateFormat: "dd/mm/yy",
            changeMonth: true,
            changeYear: true,
            yearRange: "1950:2000" // 固定起始1950年,结束2000年
        });
    });
    

问题2:在ASP.NET MVC中,如何为DateTime类型的日期选择器固定起始年份?

结合你的ASP.NET MVC视图代码,需要做好两个关键步骤,确保日期选择器能正确绑定并生效:

步骤1:修正视图中的EditorFor写法

给Dateofbirth对应的输入框加上datepicker类,让脚本能精准定位到它:

@Html.EditorFor(m => m.Dateofbirth, new { @class = "form-control datepicker" })

步骤2:在脚本中固定起始年份

把yearRange设置为"固定起始年:+0"(+0代表当前年份),比如要固定起始年为1960:

$(document).ready(function () {
    // 选中带datepicker类的输入框,比[type=datetime]更精准
    $('.datepicker').datepicker({
        dateFormat: "dd/mm/yy",
        changeMonth: true,
        changeYear: true,
        yearRange: "1960:+0" // 固定起始年1960,结束年为当前年份
    });
});

额外小提示

  • 务必确保页面已经正确引用了jQuery和jQuery UI Datepicker的脚本与样式,不然datepicker功能会失效。
  • 如果需要同时固定结束年份,把+0换成具体年份即可,比如"1960:2000"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:11:37