2 Bootstrap 日期选择器:如何更改最小和最大日期?
2 Bootstrap Datepickers: How to change min and max dates?
我的网页上有 2 个日期选择器:一个用于到达日期,另一个用于离开。
现在我想根据用户选择设置最小和最大日期。
2个我想要实现的例子:
- 用户选择 29.03.2015 作为到达 -> 出发的最小日期已设置
因此。
- 用户选择 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
我的网页上有 2 个日期选择器:一个用于到达日期,另一个用于离开。
现在我想根据用户选择设置最小和最大日期。
2个我想要实现的例子:
- 用户选择 29.03.2015 作为到达 -> 出发的最小日期已设置 因此。
- 用户选择 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