2 Bootstrap 日期选择器:如何更改最小和最大日期?

2 Bootstrap Datepickers: How to change min and max dates?

我的网页上有 2 个日期选择器:一个用于到达日期,另一个用于离开。

现在我想根据用户选择设置最小和最大日期。

2个我想要实现的例子:

  1. 用户选择 29.03.2015 作为到达 -> 出发的最小日期已设置 因此。
  2. 用户选择 29.03.2015 作为出发 -> 到达的最大值 相应地设置日期。

目前我正在像这样初始化日期选择器:

        var startDate = "<?php echo date('d.m.Y'); ?>"; // Today
        $('#startDate.input-group.date').datepicker({
            format: "dd.mm.yyyy",
            language: "de",
            multidate: false,
            todayHighlight: true,
            startDate: startDate,
            weekStart: 1
        }).on('changeDate', function(e){ 
            changeDate(e);
        });
        $('#endDate.input-group.date').datepicker({
            format: "dd.mm.yyyy",
            language: "de",
            multidate: false,
            todayHighlight: true,
            startDate: startDate,
            weekStart: 1
        });

您注意到第一个日期选择器上的 .on() 函数。这是我目前尝试设置第二个日期的尝试:

        function changeDate(e){
            $('#endDate.input-group.date').datepicker('setStartDate', e);
        }

然而,这给我留下了以下错误:

Uncaught TypeError: undefined is not a function: bootstrap-datepicker.js:1493

有问题的行是这样的:

parts = date.match(/([\-+]\d+)([dmwy])/g)

你能告诉我我做错了什么以及我如何才能达到上述效果吗?

如果你 console.log 像这样改变:

.on('changeDate', function(e){ 
        console.log(e);
});

您将看到事件 returns 一个事件对象; 你应该尝试传递类似 e.date 的东西(但一定要根据你的 startDate 格式格式化字符串)。

以下是附加到事件对象的额外数据的更多信息:http://bootstrap-datepicker.readthedocs.org/en/latest/events.html