完整日历:显示开始时间

时间:2010-10-08 21:22:39

标签: jquery ajax fullcalendar

如果我在javascript事件数组中通过硬编码指定我的事件,则时间显示在日历上的标题之前:

Javascript代码:

事件:[    {     标题:“我的头衔”,     开始:新日期(2010,9,8,11,12)    }   ]

导致在我的日历上显示“11:12我的标题”。

但是,当我使用函数创建事件(通过ajax接收数据)时,时间不会显示在日历上。这是ajax成功函数的代码(在这个例子中,我已经硬编码了开始日期,但是如何设置开始日期并不重要,它永远不会显示,只显示标题):

        success: function(doc) {

            var events = [];

            $(doc).find('event').each(function() {
                events.push({
                    title: $(this).find('title').text(),
                    start: new Date(2010,9,8,11,12),
                    url:   $(this).find('url').text(),
                    className: $(this).find('className').text(),
                    allDay:    $(this).find('allDay').text()
                });
            });

            callback(events);
        }

似乎通过事件功能以不同方式处理开始日期。我已尝试使用“new Date()”或将日期指定为字符串(2010年10月7日,14:10)或作为unix时间戳。它似乎识别日期,因为事件出现在日历的正确日期,但是当我使用ajax函数时,时间不显示。

有什么想法吗?

由于

4 个答案:

答案 0 :(得分:1)

也许使用formatDate:

success: function(doc) { 

            var events = []; 

            $(doc).find('event').each(function() { 
                events.push({ 
                    title: $(this).find('title').text(), 
                    start: $.fullCalendar.formatDate( new Date(2010,9,8,11,12),  'yyyy-MM-dd HH:mm:ss'), 
                    url:   $(this).find('url').text(), 
                    className: $(this).find('className').text(), 
                    allDay:    $(this).find('allDay').text() 
                }); 
            }); 

            callback(events); 
        } 

答案 1 :(得分:1)

根据API,如果allDay设置为true,那么无论您给出的任何时间都将被视为一整天,它将永远不会显示您想要的时间。

如果您希望该事件在特定时间段内,请将allDay设置为false。

答案 2 :(得分:0)

可能是allDay选项。也许尝试传递allDay:false,看看会发生什么。当然没有虚假的报价。

答案 3 :(得分:0)

如果我以“2010年10月8日,13:13”格式传递起始字符串,然后将其传递给事件对象而不更改它,则显示时间。我还没完成,但看起来这很有用。