2013-03-01 86 views
2

我曾經有FullCalendar(jQuery的)refetchEvent不會顯示事件

$('#calendar').fullCalendar({ 
    //some properties... 
    events: "/Agenda/GetEvents/", 
}); 

它工作得很好,我的事件顯示正確。現在我想更新在組合框中選擇的事件(重新讀取),所以這裏是我變了:

$('#calendar').fullCalendar({ 
    //some properties... 
    events: function (start, end) { 
     $.ajax({ 
      url: '/Agenda/GetEvents/', 
      dataType: 'json', 
      data: { 
       start: Math.round(start.getTime()/1000), 
       end: Math.round(end.getTime()/1000), 
       utilisateur: $("#Utilisateur option:selected").val() 
      } 
     }); 
     $('#Calendar').fullCalendar('refetchEvents'); 
    }, 
}); 

的URL在/議程/ GetEvents /被正確地調用,並返回一個事件,但它不會顯示在日曆上了。難道我做錯了什麼?

+0

refetchEvents工作在每一個瀏覽器,但IE瀏覽器對我來說。我仍然沒有想出如何使它在IE中工作。希望你能得到答案。 – Reddirt 2013-05-29 15:03:42

回答

1

的解決方案是很難找到,但我找到了一個可行的方法在這裏

http://mikesmithdev.com/blog/jquery-full-calendar/

+1

是的,我正要說每次我使用'refetchEvents'時,我必須刪除原始事件源,refetchEvents,然後添加新的源代碼(就像我在那篇文章中做的那樣)......但是後來看到你找到了我的解決方案......可能有點難以複製,因爲我使用了兩個單獨的JSON源作爲源。考慮添加您用來解決的代碼。 – MikeSmithDev 2013-03-04 21:15:00

2

查看此處的文檔以獲取單一來源的事件。需要

Full calendar

一些變化。

$('#calendar').fullCalendar({ 
events: function(start, end, callback) { 
    $.ajax({ 
     url: 'myxmlfeed.php', 
     dataType: 'xml', 
     data: { 
      // our hypothetical feed requires UNIX timestamps 
      start: Math.round(start.getTime()/1000), 
      end: Math.round(end.getTime()/1000) 
     }, 
     success: function(doc) { 
      var events = []; 
      $(doc).find('event').each(function() { 
       events.push({ 
        title: $(this).attr('title'), 
        start: $(this).attr('start') // will be parsed 
       }); 
      }); 
      callback(events); 
     } 
    }); 
} 

});

+0

我拷貝了'success:'函數,並沒有改變任何東西。 URL被調用並返回JSON,但事件不顯示 – Mathieu 2013-03-01 17:47:55

+0

您是否添加了回調行? **回調(事件); ** – 2013-03-01 17:51:00

+0

是的,我也添加了該行! – Mathieu 2013-03-01 17:53:00

0

後幾個小時閱讀代碼,我發現關於阿迪選項意想不到的配置。每個事件必須有阿迪=假,像這樣:

evts.push({ title: "Teste", start: "2014/01/18 10:30", end: "2014/01/18 13:00", allDay: false }); 
callback(evts); 
0

刪除回調函數只是從成功的塊調用這個
$('#calendar').fullCalendar('refetchEvents');

相關問題