无法使用 minDate 属性设置为 moment() 使用引导日期时间选择器设置较旧的日期,然后设置当前日期



我的要求是我不希望允许用户从日期选择器中选择过去的日期(这是使用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,并进行了一些修复

最新更新