对不起,我的问题可能是太esay,但我不理解javascript。我有个靶场数据报警器。到达-出发。我想当我选择到达时,自动启程选择器。这是我的js密码。
$('#arrival').datetimepicker({
useCurrent: false,
format: 'DD/MM/YYYY',
minDate: 'now'
});
$('#departure').datetimepicker({
useCurrent: false,
format: 'DD/MM/YYYY',
minDate: 'now'
});
$("#arrival").on("change.datetimepicker", function (e) {
$('#departure').datetimepicker('minDate', e.date);
});
$("#departure").on("change.datetimepicker", function (e) {
$('#arrival').datetimepicker('maxDate', e.date);
});
发布于 2018-05-04 20:07:11
您可以使用onShow()回调和setOptions()
来动态设置日期选择器上的最小日期和最大日期。
还有几件事我注意到了:
e.date
是未定义的,因此我使用日期时间选择器的.val()
作为日期。
同时,你的格式也被取消了,你的月名和日数翻了一番,年数翻了四番。因此,在下面的示例中,我将其设置为04/5/2018格式。
如果设置了出发时间,我还将到达选择器上的最大日期设置为“起飞时间”,否则就会出现“最大日期”。
$('#arrival').datetimepicker({
useCurrent: false,
format: 'd/M/Y',
onShow: function(ct) {
this.setOptions({
minDate: "now",
maxDate: $('#departure').val() ? new Date($('#departure').val()) : false
})
}
});
$('#departure').datetimepicker({
useCurrent: false,
format: 'd/M/Y',
onShow: function(ct) {
this.setOptions({
minDate: new Date($('#arrival').val())
})
}
});
$("#arrival").on("change.datetimepicker", function(e) {
$('#departure').datetimepicker("show");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js"></script>
arrive <input id="arrival" type="text">
depart <input id="departure" type="text">
https://stackoverflow.com/questions/50180822
复制相似问题