Day在完整日历中单击特定日期的事件警报



当用户在Fullcalendar dayClick事件中单击月份视图中的日期槽时,我希望收到一个警报,说明此特定日期不可用,例如劳动节假期。

我写了这个代码,但它不起作用,我需要有人帮助我理解这里的错误:

    dayClick: function (date, allDay, jsEvent, view) {   
    var myDate=new Date();
    myDate.setFullYear(2012,09,02);
    if (date == myDate){
        alert('Labor Day Weekend. No reservations available'); 
        $(this).css('background-color', 'red');
        return false;

此外,"红色"槽适用于这个"被阻止"的日子,但当我点击日历上的另一天时,它也会变红。这里出了什么问题?请帮忙!非常感谢你的帮助!

两件事:

  1. 日期中的月份为0。这意味着myDate.setFullYear(2012,09,02)将日期设置为2012年10月2日。我想你试图将其设置为9月2日,在这种情况下,你需要使用myDate.setFullYear(2012,08,02)
  2. 当您执行new Date()时,它会创建一个具有当前日期和时间的日期。当你做date.setFullYear()时,它只会覆盖日期,而不是时间。这可能会导致比较问题。我一直使用new Date(2012, 9, 2, 0, 0, 0, 0)来简化这一点
  3. 最后,我认为这就是导致您的问题的原因,==运算符不适用于日期。您需要显式地使用valueOf函数来进行类似getTime()的比较。有关更多详细信息,请参阅此答案

我为你总结了所有这些——http://jsfiddle.net/100thGear/sStbC/

如果这有帮助,请告诉我!

相关内容

  • 没有找到相关文章

最新更新