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

如何在ASP.NET的JavaScript DatePicker中禁用过去日期?

如何在fdatepicker中禁用过去日期

嗨,我来帮你搞定这个问题!你用的fdatepicker(基于Bootstrap的日期选择插件)自带禁用过去日期的配置项,只要在初始化时加个参数就行,另外我还发现一个小细节得调整,咱们一步步来:

1. 修正类名匹配问题

首先注意到你的JS选择器是.dateapick,但ASP.NET TextBox的CssClass是pickadate——这俩得统一,不然插件没法绑定到输入框上。你可以二选一:

  • 把TextBox的CssClass改成form-control dateapick,或者
  • 把JS里的选择器改成$('.pickadate')

2. 添加禁用过去日期的配置

在fdatepicker的配置对象里,加入startDate: 'today'参数,这个参数会把可选择的最早日期设为今天,自动禁用所有过去的日期。

修改后的完整JS代码如下:

<script type="text/javascript">
  $('.pickadate').fdatepicker({
    TodayHighlight: true,
    format: 'mm/dd/yyyy',
    disableDblClickSelection: true,
    leftArrow: '<<',
    rightArrow: '>>',
    startDate: 'today' // 新增:禁用过去日期
  });
</script>

对应的ASP.NET TextBox代码(保持类名一致):

<asp:Textbox runat="server" ID="txtStartDate" 
  OnTextChanged="txtStartDate_TextChanged" 
  onchange="subtractDate(this.Id)" 
  placeholder="MM/dd/yyyy" 
  AutoPostBack="true" 
  Enabled="true" 
  CssClass="form-control pickadate"></asp:Textbox>

补充说明

如果你的需求是允许选择今天,但禁用今天之前的日期,startDate: 'today'完全适用;如果要严格从明天开始禁用,那可以把startDate设为'+1d'(代表明天)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:18:28