代码之家  ›  专栏  ›  技术社区  ›  imdadhusen

如果使用引导Datetimepicker将minDate属性设置为矩(),则无法将较旧的日期设置为当前日期

  •  1
  • imdadhusen  · 技术社区  · 7 年前

    我的要求是我不想允许用户从日期选择器中选择过去的日期(这是使用 minDate: moment() ). 但我必须在文本框和datepicker下拉列表中显示过去的日期。

    这些日期没有显示在文本框中,因为 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
    });
    

    使用此DateTimePicker: http://eonasdan.github.io/bootstrap-datetimepicker/

    1 回复  |  直到 7 年前
        1
  •  3
  •   William-H-M    7 年前

    为此,您必须设置为选项 keepInvalid: true 默认情况下 keepInvalid minDate 选项不会覆盖之前的日期。

    这样,之前在picker上的任何日期都应该留在那里。

    因此,您的代码应该如下所示:

    $('#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 已经进行了一些修复