引导日期时间选择器不更新第二次
Posted
技术标签:
【中文标题】引导日期时间选择器不更新第二次【英文标题】:Bootstrap datetime picker not updating second time 【发布时间】:2020-04-21 17:40:54 【问题描述】:我想设置一个名为 dropoff_date_picker 的开始日期选择器,而另一个是pickup_time_picker。当我第一次从pickup_time_picker 中选择日期时,dropoff_date_picker 开始日期已更新并且工作正常,但是如果用户从pickup_time_picker 更改日期,则 dropoff_time_picker 将不会更新,并且第二次将无法正常工作。下面是我的代码 sn-p。我不知道我在哪里做错了。我已经使用了 'change'、dp.change'、'change.dp' 和 'changeDate',但没有任何效果。
$("#pickup_time_picker").datetimepicker(
format: "dd MM yyyy - hh:ii",
autoclose: true,
todayBtn: true,
startDate: today,
minuteStep: 10,
pickerPosition: "bottom-left"
).on('change.dp', function(e)
var fromDate = $('#pickup_time_feild').val().split(" ");
var fromTime = $('#pickup_time_feild').val().split(" - ");
var fromMinutes = fromTime[1].split(":");
var dat = new Date(fromDate[0] + ' ' + fromDate[1] + ' ' + fromDate[2] + '');
var present = new Date(fromDate[2], dat.getMonth(), fromDate[0], fromMinutes[0], fromMinutes[1]);
enddate = new Date(present.getFullYear(), present.getMonth() - 1, present.getDate(), present.getHours(),
present.getMinutes(), 0, 0);
alert(present);
$('#dropoff_time_picker').datetimepicker(
format: "dd MM yyyy - hh:ii",
autoclose: true,
todayBtn: true,
startDate: present,
minuteStep: 10,
pickerPosition: "bottom-left"
);
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="date_wrap">
<input type="date" id="pickup_time_picker" />
<input type="date" id="dropoff_time_picker" />
</div>
【问题讨论】:
尝试在#dropoff_time_picker
上设置initialDate
而不是startDate
。
这解决了我的问题$('#dropoff_time_picker').datetimepicker('setStartDate',present);
干得好。将其发布为您问题的答案,并为其他人提供正确的代码。
【参考方案1】:
我只是在最后添加了以下行,它可以工作。
$('#dropoff_time_picker').datetimepicker('setStartDate',present);
以下是完整的代码。
$("#pickup_time_picker").datetimepicker(
format: "dd MM yyyy - hh:ii",
autoclose: true,
todayBtn: true,
startDate: today,
minuteStep: 10,
pickerPosition: "bottom-left"
).on('change.dp', function(e)
var fromDate = $('#pickup_time_feild').val().split(" ");
var fromTime = $('#pickup_time_feild').val().split(" - ");
var fromMinutes = fromTime[1].split(":");
var dat = new Date(fromDate[0] + ' ' + fromDate[1] + ' ' + fromDate[2] + '');
var present = new Date(fromDate[2], dat.getMonth(), fromDate[0], fromMinutes[0],
fromMinutes[1]);
enddate = new Date(present.getFullYear(), present.getMonth() - 1,
present.getDate(), present.getHours(),
present.getMinutes(), 0, 0);
$('#dropoff_time_picker').datetimepicker(
format: "dd MM yyyy - hh:ii",
autoclose: true,
todayBtn: true,
startDate: present,
minuteStep: 10,
pickerPosition: "bottom-left"
);
$('#dropoff_time_picker').datetimepicker('setStartDate',present);
);
【讨论】:
以上是关于引导日期时间选择器不更新第二次的主要内容,如果未能解决你的问题,请参考以下文章