如何在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
相关产品推荐
相关产品推荐

