设置从 Bootstrap 开始的月份 3 Datepicker

Set month which opens from Bootstrap 3 Datepicker

我正在使用 Bootstrap 3 日期选择器:http://eonasdan.github.io/bootstrap-datetimepicker/

我已将 minDate 设置为未来日期,但是当我打开日期选择器时,它会显示当前月份,即使我无法 select 该月的任何日期。如果当前月份不可用,我希望日期选择器会打开第一个可能的月份。我该怎么做?

我的初始化代码:

$("#mySelector").datetimepicker({
    minDate: new Date(2015,3,12),
    maxDate: new Date(2015,3,15),
    pickTime: false,
    useCurrent: false,
    useStrict: true
});

使用 defaultDate 选项 :

$("#mySelector").datetimepicker({
    defaultDate: new Date(2015,3,12),     // <---- Look here
    minDate: new Date(2015,3,12),
    maxDate: new Date(2015,3,15),
    pickTime: false,
    useCurrent: false,
    useStrict: true
});

如果输入字段需要清楚,日期可以设置为空(旧版本语法):

$("#mySelector").data("DateTimePicker").setDate(null);

在此日期选择器之后打开 defaultDate 月份而不是当前日期。

我也遇到了同样的问题,不想设置默认日期(用户必须 select 一个日期)。

我是这样解决的:

  $('#mySelector').on('dp.show', function(e) {
    datePicker = $('#mySelector').data("DateTimePicker");
    if (datePicker.date() == null || datePicker.date().isBefore(datePicker.minDate())) {
      datePicker.date(datePicker.minDate());
      datePicker.date(null);
    }
  });

如果日期selection为空,或者低于最小日期(如果可以更改),那么我们首先将当前日期设置为最小日期(这会强制选择器向右月,然后再次清除 selection)

我尝试在初始化后立即调用它,但它没有用,所以我改为将它绑定到 'dp.show' 事件。

如果您的 minDate 可以在加载选择器时更改,我建议在更改日期后立即调用它,以立即清除无效日期 selection 并移动到正确的月份(我' m 在链接的选择器中使用它)