如果可选日期在下个月,则下个月开放

时间:2012-04-13 02:30:34

标签: jquery

我有jQuery日历。我必须这样做,以便只有周一或周二等可以根据其他变量进行选择。现在,如果今天是2012年4月27日,并且可选择的日期是星期四,并将其设置为2012年4月27日或当前日期,则即使没有可选日期,默认月份仍将是4月。

我怎样才能做到这一点,在这种情况下,默认月份是可选天数的月份。

我希望这个数字会有所帮助!

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用自定义功能设置defaultDate / minDate。这里我有一个数组定义了一周的有效日期。如果当前日期不是一个,则向前移动直到找到一个。你可以为你的特定用途定制这样的东西:

var validDays = [0, 1, 1, 0, 0, 1, 0];

function firstDate() {
    var valDate = new Date();
    valDate.setDate(valDate.getDate() + 14);
    var day = valDate.getDay();
    var i = 0;
    while (validDays[day] != 1 && i < 7) {
        valDate.setDate(valDate.getDate() + 1);
        day = valDate.getDay();
        i++;
    }
    return valDate;
}

function validDate(date) {
    if (validDays[date.getDay()] == 1) {
        return [true, ""];
    } else {
        return [false, ""]
    }
}

$(function() {
    $("#datepicker").datepicker({
        beforeShowDay: validDate,
        minDate: firstDate(),
        defaultDate: firstDate()
    });
});

演示:http://jsfiddle.net/jtbowden/LgLr9/1/