[英]Set Datetimepicker minDate based on another Datetimepicker date
我在两个类上都使用只有日期格式的Datetimepicker (如果我从ValidFrom框中选择Date,则可以正常工作)。 我的用例是,一旦选择ValidFrom , ValidTo应该自动增加 1个月(这种情况正在发生)。 现在我面临的问题是,有一次,从ValidFrom日在ValidTo框中选定的日期应不小于ValidFrom日期也,日期ValidTo只能减少,不能增加30天。
以下是我的Datetimepicker代码:
<script>
$(document).ready(function () {
$('#ValidFrom').datetimepicker({
datepicker: true,
timepicker: false,
format: 'm/d/Y',
step: 30,
minDate: new Date(),
onChangeDateTime: function (dp, $input) {
var date = new Date($input.val());
date.setMonth(date.getMonth() + 1);
date = (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear();
$('#ValidTo').val(date);
},
});
$('#ValidTo').datetimepicker({
datepicker: true,
timepicker: false,
format: 'm/d/Y',
step: 30,
minDate: new Date(),
});
});
</script>
PS我已经尝试了其他问题中提到的方法,但是它们没有取得成果。
尝试如下更新minDate
和maxDate
。
$('#ValidTo').datetimepicker('option', 'minDate', minDate);
$('#ValidTo').datetimepicker('option', 'maxDate', maxDate);
或者,如果它不起作用,请尝试如下操作。
$('#ValidTo').data("DateTimePicker").setMinDate(minDate);
$('#ValidTo').data("DateTimePicker").setMaxDate(maxDate);
您的完整代码应如下所示。
$(document).ready(function() { $('#ValidFrom').datetimepicker({ datepicker: true, timepicker: false, format: 'm/d/Y', step: 30, minDate: new Date(), onChangeDateTime: function(dp, $input) { var date = new Date($input.val()); $('#ValidTo').datetimepicker('option', 'minDate', date); date.setMonth(date.getMonth() + 1); $('#ValidTo').datetimepicker('option', 'maxDate', date); date = (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear(); $('#ValidTo').val(date); }, }); $('#ValidTo').datetimepicker({ datepicker: true, timepicker: false, format: 'm/d/Y', step: 30, minDate: new Date(), }); });
这是一个方便的工具 ,可以帮助您创建所需的约束。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.