Bootstrap DateTimePicker将maxDate设置为第一个字段后一个月的第二个字段



我有两个日期字段。一个"发件人"和一个"收件人"。当用户从第一个字段中选择日期(例如"09/12/2015")时,我希望第二个字段的最大日期为"09/01/2016"。我的代码是:

<script type="text/javascript">
    $(function () {
        $('#from').datetimepicker({format: 'DD/MM/YYYY'});
        $('#to').datetimepicker({format: 'DD/MM/YYYY',useCurrent: false});
        $("#from").on("dp.change", function (e) {
            $('#to').data("DateTimePicker").minDate(e.date);
        });
        $("#to").on("dp.change", function (e) {
            $('#from').data("DateTimePicker").maxDate(e.date);
        });
    });
</script>

你能帮我吗?非常感谢。

您可以使用Moment操作日期,因此您将拥有:

$("#from").on("dp.change", function (e) {
  $('#to').data("DateTimePicker").minDate(e.date);
  var nextMonth = e.date.add(1, 'months');
  $('#to').data("DateTimePicker").maxDate(nextMonth);
});

请注意,如果您需要反向执行相同的操作,矩也有减法。

$("#from").on("dp.change", function (e) {
  $('#to').data("DateTimePicker").minDate(e.date);
  var nextMonth = e.date.add(3, 'months');
  $('#to').data("DateTimePicker").maxDate(nextMonth);
});

当最大日期低于3个月时失败

最新更新