如果具有过去日期的文本框和具有minDate:0的datepicker,则JQuery datepicker会将过去的日期重置为当前日期

时间:2013-09-19 15:24:03

标签: javascript jquery datepicker

我想禁用从jquery datepicker中选择过去的日期,如果文本框中有过去的日期,那么它应该只是那样。

我编写了如下代码,

$("#t1").datepicker({
      minDate:0
});

文本框代码,

<input type="t1" value="13/09/12">

现在当datepicker激活时,文本框值设置为当前日期。我不想这样设置,并且在同一日期,选择器不应该显示过去的日期。

1 个答案:

答案 0 :(得分:0)

可能你必须在beforeShowDay之前验证,试试这个:

            function checkDate(date) {
            var specificdate = $(this).datepicker('getDate');
            date.setHours(0, 0, 0, 0);
            var nowdate = new Date();
            if (date >= nowdate || specificdate - date == 0) {
                return [true, ""];
            } else {
                return [false, "unavailable", "unavailable"];
            }
        }

        $(function () {
            $("#t1").datepicker({
                dateFormat: 'dd/mm/yy',
                setDate:  $(this).val(),
                beforeShowDay: checkDate
            });

        });