【发布时间】:2019-08-30 16:33:35
【问题描述】:
我正在使用 TempusDominus Bootstrap4 日期时间选择器 (https://tempusdominus.github.io/bootstrap-4/)。 我在 HTML 中只有 2 个简单的输入,就是这些
<div class='mb-3'>
<input type="text" class="form-control datetimepicker-input" id="datetimepicker7" data-toggle="datetimepicker" data-target="#datetimepicker7" readonly="readonly"/>
</div>
<div class='mb-3'>
<input type="text" class="form-control datetimepicker-input" id="datetimepicker8" data-toggle="datetimepicker" data-target="#datetimepicker8" readonly="readonly"/>
</div>
这在 jquery 中
var $horaInicio = $('#datetimepicker7');
var $horaFin = $('#datetimepicker8');
$horaInicio.datetimepicker({
useCurrent: false,
locale:'es',
daysOfWeekDisabled: [0,6],
minDate: moment(),
autoClose: true,
ignoreReadonly: true,
});
$horaFin.datetimepicker({
useCurrent: false,
locale: 'es',
daysOfWeekDisabled: [0,6],
ignoreReadonly: true,
minDate: moment(),
autoClose: true,
});
$horaInicio.on("change.datetimepicker", function (e) {
$horaFin.datetimepicker('minDate',e.date);
});
$horaFin.on("change.datetimepicker", function (e) {
$horaInicio.datetimepicker('maxDate', e.date);
});
在我的系统中,我需要管理应该在同一天开始和结束的预订,所以我想限制第二个日期选择器 (#datepicker8),因此 minDate 属性设置为在第一个日期选择器中选择的相同日期 (#datepicker7 ) 并将 maxDate 属性延长 1 天。 (即,除使用第一个 datetimepicker 选择的那一天外,所有天都被禁用)
使用上面的代码,我可以选择“今天”作为开始日,然后我可以选择从“今天”到未来几年的任何一天。如果我先选择(DD/MM/YYYY)11/09/2019 14:00,那么我可以毫无问题地选择 11/09/2019 14:30 或 15:00。但是当我尝试修改第二个日期选择器的 maxDate 时它不起作用
我已经尝试过了:
$horaInicio.on("change.datetimepicker", function (e) {
$horaFin.datetimepicker('minDate',e.date);
$horaFin.datetimepicker('maxDate', e.date.add(1,'day');
});
但它不起作用,我无法使用第二个日期时间选择器选择任何一天。由于我从今天开始将 1 天添加到 maxDate,这一天显示为已启用,但我无法选择它,单击它什么也不做。 我没有出现任何错误。似乎设置 minDate 和 maxDate 会破坏日期选择器。
【问题讨论】:
标签: javascript jquery bootstrap-4