我正在尝试根据用户选择的给定输入日期设置 maxDate ,假设用户选择今天的日期,则 maxDate 应设置为3天或4天今天甚至一周到最大。但我使用以下逻辑根据用户输入选择自动设置 minDate
$(checkIn).datepicker(
{
changeMonth:false,
changeYear:false,
dateFormat: 'dd/mm/yy',
minDate:0
});
var temp;
$(checkIn).on("change",function()
{
var select = $(this).datepicker("getDate");
temp=select;
$(checkOut).datepicker('option','minDate',temp)
})
这个逻辑工作在这里很精细但是当我试图根据这个逻辑设置maxDate时我得到的确定错误就是代码
$(checkOut).datepicker({
changeMonth:false,
changeYear:false,
dateFormat: 'dd/mm/yy',
maxDate: new Date($(checkIn).val()) + "1w"
})
当我运行此代码时会发生什么情况,例如,如果我选择今天的日期,它会提供正确的 maxDate 直到最多7天,但如果我再次更改 checkIn 输入maxDate减去一天,因此我会继续从当前日期开始选择转发日期,而 checkOut < / strong>输入被禁用,我无法选择任何一个。
答案 0 :(得分:1)
您可以移除更改事件并使用beforeShow回调来设置第二个日期选择器的maxDate,如:
<!doctype html>
<html>
<style>
.container {
font-size: 40px;
}
p {
margin: 0;
}
.small {
font-size: 16px;
}
</style>
<body>
<div class="container">
<p>Big text</p>
<p>
<span class="small">
Small text
</span>
</p>
<p>
<span class="small">
Small text
</span>
</p>
</div>
</body>
</html>
div