fullCalendar updateEvent'已完成'重新渲染事件并非所有事件

时间:2012-05-14 20:02:07

标签: jquery jquery-ui fullcalendar qtip qtip2

我目前正在动态地将我的活动拉入我的日历。 然后当我鼠标悬停在事件上时,它会弹出一个qTip(jquery插件)以显示弹出对话框。

我目前有一个“链接”,即“完成”日历上的项目,我正在使用此javascript从链接中提取我的信息。

// Update event to be complete
        $('.updateEvent').live('click', function() {
            var goTo     = $(this).attr('href');
            var eventId1 = $(this).attr('rel');
            var eventId2 = eventId1.split("-");
            var eventId  = eventId2[1];

            $.ajax({
                  url: goTo,
                  dataType: 'html',
                  success: function (event, response) {
                        $("#"+eventId).fullCalendar('className', '.complete');
                        //$("#calendar").fullCalendar("refetchEvents");
                  },
                  error: function(response, data) {
                    alert("Oops... Looks like we're having some difficulties.");  
                  }
            });
            return false;
        });

有没有办法去做和更新事件“className” - >“。完成” 我知道我应该参与实际的'事件',但我不确定如何使用jQuery qTip功能。

我希望这是有道理的,如果有任何方向,那将非常感激。

更新后的代码:

// Update event to be complete
        $('.updateEvent').live('click', function() {
            var goTo     = $(this).attr('href');
            var eventId1 = $(this).attr('rel');
            var eventId2 = eventId1.split("-");
            var eventId  = eventId2[1];

            $.ajax({
                  url: goTo,
                  dataType: 'html',
                  success: function (event, response) {

                      var eventNew = $("#calendar").fullCalendar("clientEvents", eventId);
                      console.log(eventNew);

                  },
                  error: function(response, data) {
                    alert("Oops... Looks like we're having some difficulties.");  
                  }
            });
            return false;
        });

当我写入console.log(eventNew);它返回NULL。我知道eventId正在响应一个实际的eventId,例如(17836)。

非常感谢任何其他想法!

我在此页面上的完整JS脚本: http://jsfiddle.net/ah73B/

1 个答案:

答案 0 :(得分:1)

我认为在更改类名之前,您需要首先获取事件的句柄。看看.fullCalendar( 'clientEvents' [, idOrFilter ] )方法。如果您知道eventId,则可以将其作为过滤器传递给此方法。然后更改className。

希望这会有所帮助。您可以发布问题的HTML以便更清楚。