javascript - 我如何打开自动日期选择器范围偏离
问题描述
抱歉,我的问题可能太简单了,但我不懂 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);
});
解决方案
您可以使用onShow()回调setOptions()
来动态设置 datetimepicker 上的最小和最大日期。
我注意到的其他一些事情:
e.date
是未定义的,所以我使用了.val()
日期时间选择器的日期。
此外,您的格式已关闭,您将月份名称和日期翻倍,将年份翻两番。因此,我在下面的示例中将其设置为 04/May/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">
推荐阅读
- logstash - Logstash:1 个输入和多个输出文件
- ruby-on-rails - 如何在 ruby on rails 中发布数据
- vue.js - 我可以在 vue 路由器上使用 & 号而不是前斜线吗?
- javascript - 如何在javascript中从控制器(MVC)获取布尔值?
- digital-ocean - 将客户端从另一个 VPC 加入 Consul
- python - 为什么 super().__init__ () 在 Python 的 Derived 类中的行为与 super().override() 不同?
- ios - 如何将数据从viewcontroller导入到购物车TableView
- javascript - Firebase 在过期后获取 googleAuthProvider 提供的新 AccessToken
- r - 如何根据数组中的值在 R 中是否为正来更改正在使用的函数
- sql - oracle中表的3列的所有可能组合