2012-05-14 77 views
1

我目前已將我的事件動態地拉入日曆。 然後,當我將鼠標懸停在事件上時,它會彈出一個qTip(jquery插件)來顯示彈出對話框。fullCalendar updateEvent'completed'重新呈現事件並非所有事件

我目前有一個'鏈接'是'完成'日曆上的一個項目,我用這個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

我認爲你需要首先獲取一個句柄事件,改變了之前類名。看看.fullCalendar('clientEvents' [, idOrFilter ])的方法。如果您知道eventId,則可以將其作爲過濾器傳遞給此方法。然後更改className。

希望這會有所幫助。你可以發佈問題的HTML更清晰。

+0

嘿,我很高興看到您的回覆,但無法進一步...我更新了我的代碼和我的JS的其餘部分。如果你能夠再看一眼那真棒。 – Justin