Bootstrap 日期时间选择器没有第二次更新
Bootstrap datetime picker not updating second time
我想设置一个名为 dropoff_date_picker 的开始日期选择器,另一个名为 pickup_time_picker。当我 select 从 pickup_time_picker 开始的日期第一次 dropoff_date_picker 更新并且工作正常但是如果用户从 pickup_time_picker 更改日期而不是 dropoff_time_picker 则不会被更新并且它不会第二次工作下面是我的代码片段。我不知道我在哪里做错了。我已经使用了 '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').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);
});
我想设置一个名为 dropoff_date_picker 的开始日期选择器,另一个名为 pickup_time_picker。当我 select 从 pickup_time_picker 开始的日期第一次 dropoff_date_picker 更新并且工作正常但是如果用户从 pickup_time_picker 更改日期而不是 dropoff_time_picker 则不会被更新并且它不会第二次工作下面是我的代码片段。我不知道我在哪里做错了。我已经使用了 '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').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);
});