2 Bootstrap Datepickers:如何更改最小和最大日期?

时间:2015-03-24 11:53:32

标签: javascript jquery twitter-bootstrap datepicker

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

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

2我想要实现的例子:

  1. 用户选择29.03.2015作为到达 - >离开的最小日期已设定 因此。
  2. 用户选择29.03.2015作为出发 - >到达最大 日期相应设定。
  3. 目前我正在初始化datepickers,如下所示:

            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
            });
    

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

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

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

      

    Uncaught TypeError:undefined不是函数:bootstrap-datepicker.js:1493

    有问题的一行是:

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

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

1 个答案:

答案 0 :(得分:0)

如果你的console.log改变如下:

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

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

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