我的要求是我不希望允许用户从日期选择器中选择过去的日期(这是使用minDate: moment()
完成的)。但是我必须在文本框和日期选择器下拉列表中显示过去的日期。
例如,今天是 2017 年 10 月 23 日,因此我能够选择今天和未来的任何日期。但是很少有日期已经过去(即 2017 年 3 月 3 日、2016 年 11 月 12 日),在这种情况下,这些日期未显示在文本框中minDate: moment()
由于设置了该功能而自动清除。如果我删除此属性,那么我就可以显示该日期。
我将引导程序版本 3.0.0 迁移到 4.17.42 后遇到的这个问题。以下是代码:
$('#datepicker').datetimepicker({
format: 'YYYY/MM/DD',
ignoreReadonly: true,
defaultDate: moment(GetCurrentDate(), "DD-MM-YYYY"),
minDate: moment() //set a minimum date
});
使用此日期时间选取器:http://eonasdan.github.io/bootstrap-datetimepicker/
您必须设置为选项keepInvalid: true
因为默认情况下keepInvalid
为 false,这样minDate
选项就不会覆盖之前的日期。
这样,选取器上之前的任何日期都应保留在那里。
因此,您的代码应如下所示:
$('#datepicker').datetimepicker({
format: 'YYYY/MM/DD',
ignoreReadonly: true,
defaultDate: moment(GetCurrentDate(), "DD-MM-YYYY"),
minDate: moment(), //set a minimum date
keepInvalid: true,
});
现在,如果您不使用minDate
选项,则必须设置useCurrent: false
这样不会有问题。
我将引导程序版本 3.0.0 迁移到 4.17.42 后遇到的这个问题
我建议您升级到最新版本4.17.47,并进行了一些修复