2012-04-13 60 views
1

我有jQuery日历。我必须做到这一点,只有星期一或星期二等可以选择取决于其他变量。现在,如果今天是2012年4月27日,并且可选日期是星期四,并且2012年4月27日或当前日期设置为默认月份,则即使没有可选日期,默认月份仍将为4月。如果可选日期在下个月中打开,则下个月打开

我该如何做到这一点,以便在这种情况下,默认月份是有可选天数的月份。

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

enter image description here

回答

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/

+0

由于它的工作原理,但我已经设定分钟日期14天。在这种情况下,我必须改变以使其工作 – Kaushtuv 2012-04-13 06:19:58

+0

您需要在firstDate()的第一行之后添加'valDate.setDate(valDate.getDate()+ 14);''。上面编辑。 – 2012-04-13 06:21:56

+0

感谢作品的魅力:) – Kaushtuv 2012-04-13 06:30:37

相关问题