我的要求是我不希望允许用户从日期选择器中选择过去的日期(这是使用minDate: moment()
完成的)。但我必须在文本框和datepicker下拉列表中显示过去的日期。
例如,今天是2017年10月23日,所以我可以选择今天和未来的任何日期。但是在这种情况下已经过去的日期很少(即2017年3月3日,2016年11月12日)这些日期未显示在文本框中,由于 minDate: moment()
而自动清除功能设置。如果我删除此属性,那么我可以显示该日期。
我在迁移Bootstrap 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
});
使用此DateTimePicker:http://eonasdan.github.io/bootstrap-datetimepicker/
答案 0 :(得分:2)
为此,您必须设置为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
,这样不会出现问题。
我将Bootstrap 3.0.0版迁移到4.17.42后面临的这个问题
我建议您升级到最新版本4.17.47已经进行了一些修复