Bootstrap Datepicker无法隐藏过往日期 新手求助
解决Bootstrap Datepicker无法隐藏过往日期的问题
嗨,刚看了你的代码,很快就找到问题啦!你现在的问题主要有两个关键原因:
1. 重复初始化Datepicker导致配置丢失
你分别给#fromDate和#toDate调用了两次datepicker():第一次设置了autoclose、format这些基础配置,第二次单独加了minDate。但每次调用datepicker()都会重新初始化控件,之前的配置会被覆盖,而且更重要的是——你用错了参数名!
2. Bootstrap Datepicker的最小日期参数是startDate,不是minDate
minDate是jQuery UI Datepicker的参数,但你使用的是Bootstrap Datepicker,它用来设置可选最小日期的参数是startDate,这就是为什么设置后完全没效果的核心原因!
修正后的完整代码
把所有配置合并成一次初始化,替换你原来的script部分即可:
<script type="text/javascript" th:inline="javascript"> /*<![CDATA[*/ // Date picker $('#fromDate').datepicker({ autoclose: true, todayHighlight: true, format: 'dd-M-yyyy', startDate: new Date() // 用startDate替代minDate }); $('#toDate').datepicker({ autoclose: true, todayHighlight: true, format: 'dd-M-yyyy', startDate: new Date() }); // 可选功能:让ToDate的最小日期联动FromDate选中的日期 $('#fromDate').on('changeDate', function(e) { $('#toDate').datepicker('setStartDate', e.date); }); /*]]>*/ </script>
额外说明
- 一次性把所有配置项放在同一个对象里初始化,避免重复调用
datepicker()导致配置丢失。 - 如果你需要
ToDate不能选择早于FromDate的日期,上面的changeDate监听代码就能实现这个联动效果,可以根据项目需求决定是否添加。
内容的提问来源于stack exchange,提问作者demo developers
相关产品推荐
相关产品推荐

