2013-07-31 3 views
0

달력 이벤트를 문법적으로 설정하는 데 문제가 있습니다.fullCalendar 프로그래밍 방식으로 이벤트를 설정하는 방법

사용자가 드롭 다운을 사용하여 이벤트를 표시 할 클라이언트를 선택할 수있는 페이지가 있습니다. Ajax 호출을 통해 이벤트를 요청합니다. 그리고이 모든 것이 좋아 보인다. 하지만 fullCalendar에서 이벤트를 설정하는 데 문제가 있습니다. 이것은 AJAX 응답의 덤프입니다

success: function(resp){ 
    var r = resp.output; 
    console.dir(r); 
    jQuery('#student').html(r.studentname); 
    jQuery('#calendar').fullCalendar('removeEvents'); // <= This works 
    jQuery('#calendar').fullCalendar('events', r.events); // <= This doesn't 
} 

:

는 이벤트를 설정하려면 코드입니다

events  "[{ 
      id: 1, 
      title: 'Acupuncture', 
      start: new Date(2013, 5, 29, 10, 00), 
      end: new Date(2013, 5, 29, 10, 30), 
      allDay: false 
      } 
      , 
      { 
      id: 2, 
      title: 'Acupuncture', 
      start: new Date(2013, 6, 30, 10, 00), 
      end: new Date(2013, 6, 30, 10, 30), 
      allDay: false 
      } 
      , 
      { 
      id: 3, 
      title: 'Chiropractor', 
      start: new Date(2013, 6, 31, 11, 00), 
      end: new Date(2013, 6, 31, 11, 15), 
      allDay: false 
      } 
      ] 
      " 
id   "1" 
studentname "Tarah Yates" 
나는이 이렇게하는 방법에 대한 예를 찾을 수 없습니다

내가 제대로하고 있는지 잘 모르겠다.

방금 ​​이벤트 목록 주변의 인용문을 보았습니다. 아마도 그게 문제입니까?

이것이 문제가되지 않는다면 아무도 왜 작동하지 않는지에 대한 생각을 갖고 있습니까?

+0

시도 eventsources의 배열이있는 경우 이벤트 추가 후 rerenderEvents 메소드 –

답변

0

gwardell 응답을 반복해야 어레이의 요소를 가져올 수 있습니다. 하지만이 같은 JSON에 대한 응답의 유형을 변경합니다 : 단순한 JSON이있을 수

[{ 
    "id": "1", 
    "title": "Acupuncture", 
    "start": "29-05-2013 10:00", //adapted this date format is accepted by fullcalendar 
    "end": "29-05-2013 10:30", 
    "allDay": false //You dont need to adapt this it was a mistake of me. Leave it be. 
},etc, etc, etc] 

공지 사항, 당신은 하위 배열 복잡한 JSON으로 응답을 가질 수 없습니다.

추신. - NET에서 약간의 JSON 형식을 연구하면 확실해질 것입니다.

줄을 잘 모르겠지만 그곳에있는 동안 만 해당보기에서 이벤트를 만들 것입니다. 다른보기로 전환하면 사라질 것입니다. 당신이하고 싶은 것은 데이터베이스에 저장하거나 이벤트를 저장하기 위해 데이터를 저장하는 데 사용하는 것입니다. 그렇다면 그들은 지속적이고 언제 당신 refetchevent 이벤트가 apear ... 그래서 jQuery ('# calendar'). fullCalendar ('events', 'refetchevents');

당신이 JSON과 JQuery와 아약스와 함께이 일을하는 가정 아약스 호출에서 ID를 전달하는 방법

$.ajax({ 
         type: 'POST',       
         url: _url,       
         data: {'id': 9999, //Just pass like this or you can set like a function 'id':getMyID(),                
           'title':name, 
           'start':start, 
           'end':end, 
           'allDay': allDay, 
           'editable': true, 
           },          
         success: function(data) {   
          //TODO Do stuff 

         } 
        }); 

하거나 전화

var othersources = {  
     ausencias: {    
     url: _url, 
     type: 'POST', 
     data:{ 
      'id':getMyId(), // 'id':myidvalue             
         'func':func, 
         'year':y          
      }, 
     cache: false,    
     color: '#C1272D', 
     textColor: 'white'        
     }} 
+0

추가 설명이 필요하면 알려주세요 ... 라이브 오랫동안 번영했습니다 –

+0

세 줄을 JSON에 적용하는 방법을 모르겠습니다. BTW는 데모/테스트 페이지에 하드 코딩 된 다운로드와 함께 제공되는 샘플과 동일합니다. – gwardell

+0

"iterated"라고 말하면 한 번에 하나의 이벤트 만로드 할 수 있다는 의미입니까? 이 행은 이벤트를로드하는 데 올바른 것입니까? jQuery ('# calendar'). fullCalendar ('events', r.events); – gwardell

관련 문제