2012-11-25 64 views
3

我需要在AJAX調用完成後將事件呈現爲HTML表格。成功時,我得到表格HTMLS。但是當它在標題中呈現時,它會將表格HTMLS顯示爲普通文本。當我GOOGLE了它,我發現我需要使用下面的代碼,以使其作爲HTMLS的解決方案:在fullcalendar.js事件中呈現HTMLS標記

eventRender: function (event, element) { 
element.find('span.fc-event-title').html(element.find('span.fc-event-title').text()); 
}); 

但是,當我把它放在我的代碼,它顯示了一些JS錯誤。我不知道爲什麼這個錯誤正在發生。請幫我弄清楚。請從下面的代碼的全斷面:

dayClick: function(start,allDay, jsEvent, view) { 
    $('#calendar').fullCalendar('changeView', 'agendaDay'); 
    var date_clicked = $.fullCalendar.formatDate(start, "yyyy/MM/dd"); 
    var date_for_view = Date.parse(date_clicked); 
    var date_for_view=new Date(date_for_view); 
    $('#calendar').fullCalendar('gotoDate',date_for_view); 
    $.ajax({ 
     url: "/admins/users/update_projects?date_selected="+date_clicked+"&uid="+'<%=params[:user]%>', 
     type: 'GET', 
     success: function (data, response, event, date) { 
      $('#calendar').fullCalendar('renderEvent', 
       { 
       title: data, 
       start: start 
       }, 
     eventRender: function (event, element) 
       { 
       element.find('span.fc-event-title').html(element.find('span.fc-event-title').text());   
       }); }, 
     error: function() { 
      $('#calendar').fullCalendar('renderEvent', 
       { 
       title: "No Tasks Scheduled Today", 
       start: date_clicked    
       });  
       } 
      }); 
    }, 
+0

上面編輯的代碼顯示錯誤的「錯誤:參數列表 源代碼後失蹤):SyntaxError錯誤 eventRender:函數(事件,元素)」 – rubyist

回答

7

您應該eventRender回調添加到您初始化日曆

// create fullCalendar 
$('#calendar').fullCalendar({ 
    eventRender: function(event, element, view) { 
     if (view.name == 'agendaDay') { 
       element.find('span.fc-event-title').html(element.find('span.fc-event-title').text()); 
     } 
    } 
}); 

在Ajax響應代碼,只需調用renderEvent方法,並傳遞事件作爲第二個參數

//call the render event method 
$('#calendar').fullCalendar('renderEvent', { 
     title: 'My Event 2', 
     start: '2012-11-25' 
}); 

工作實施例:http://jsfiddle.net/bfz3J/1/

0

@ i123fr3的技術仍然相關,但由於對fullcalendar的HTML進行了修改,因此不再有效。由fullcalendar生成的HTML現在使用div代替.fc-event-title,而不是span

更改eventRender實施:

if (view.name == 'agendaDay') { 
    element.find('.fc-event-title').html(element.find('.fc-event-title').text()); 
} 
0

我在這兩種類型的事件對FullCalendar的最新版本(少半小時,更在半小時)

eventRender: function (event, element) 
      { 
       //hack for view html(not as text) 
       element.find('.fc-event-title').html(element.find('.fc-event-title').text()); 
      }, 
eventAfterAllRender:function(view) { 
       $('.fc-event-time').each(function(){ 
        $(this).html($(this).text()); 
       }); 
      }, 
1

溶液(V2 .6.1)我有問題讓html顯示在agendaWeek和agendaDay中。這爲我工作:

eventRender: function(event, element, view) { 
    if (view.name === 'month') { 
     element.find('span.fc-title').html(element.find('span.fc-title').text()); 
    } else if (view.name === 'agendaWeek' || view.name === 'agendaDay') { 
     element.find('div.fc-title').html(element.find('div.fc-title').text()); 
    } 
    },