如何根据特定值在jquery datepicker中设置maxDate

时间:2017-07-08 13:54:56

标签: jquery datepicker

我正在尝试根据用户选择的给定输入日期设置 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>输入被禁用,我无法选择任何一个。

1 个答案:

答案 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