我有两个链接的Bootstrap datetimepickers。这是他们的代码:
var d = new Date();
var one_month = d.setMonth( d.getMonth( ) + 1 );
$(function () {
$('#pick1').datetimepicker({
locale: 'en',
sideBySide: true,
defaultDate: new Date(),
minDate: new Date(),
format: 'DD/MM/YYYY HH:mm',
stepping: 15
});
$('#pick2').datetimepicker({
locale: 'en',
sideBySide: true,
defaultDate: one_month,
minDate: new Date(),
format: 'DD/MM/YYYY HH:mm',
stepping: 15
});
$('#pick1').on('dp.change', function (e) {
$('#pick2').data('DateTimePicker').minDate(e.date);
});
$('#pick2').on('dp.change', function (e) {
$('#pick1').data('DateTimePicker').maxDate(e.date);
});
});
我遇到的问题是依赖于现在的时间,其中一个选择器(通常是pick1
)没有显示默认日期。
这里有一个jsFiddle来说明:
https://jsfiddle.net/6xbt5wa9/1/
(如果看起来没问题,请在几分钟后再次运行)
我认为此问题与stepping
选项有关,这只是因为如果您将其注释掉,则会解决问题。
似乎问题与踩踏图的开头有关。因此,如果stepping
设置为15;第15,16,17分钟会有问题,但到30分钟则不会。我还没有对这个假设进行测试,结果太短了。
有人可以帮忙吗?我错过了什么吗?
答案 0 :(得分:2)
我刚遇到这个问题,问题已在插件GitHub Page上引发,但仍然看起来这个bug还没有解决。
之所以发生这种情况,是因为步进器向最近的方向旋转 值。所以有时这意味着四舍五入到最接近的15 可以在
minDate = moment()
之前。示例:上午11:18将向下舍入到上午11:15,但这是在
moment()
之前 使它无效。这种解释是由GitHub问题提升者提供的。
问题提升者继续提供一个hacky解决方法,我不确定它是多么可靠。也许这个问题仍然在解决,但它刚刚提出来了!
我以为我会与所有人分享这些信息(即使这是一个老问题!),因为那里没有一些关于此的帮助。
答案 1 :(得分:1)
$(function () {
$('#pick1').datetimepicker({
locale: 'en',
sideBySide: true,
defaultDate: new Date(),
minDate: new Date(),
format: 'DD/MM/YYYY HH:mm',
stepping: 15
});
$('#pick2').datetimepicker({
locale: 'en',
sideBySide: true,
minDate: new Date(),
format: 'DD/MM/YYYY HH:mm',
stepping: 15
});
$('#pick1').on('dp.change', function (e) {
$('#pick2').data('DateTimePicker').minDate(e.date);
});
$('#pick2').on('dp.change', function (e) {
$('#pick1').data('DateTimePicker').maxDate(e.date);
});
});