2016-05-14 96 views
1

我試圖在我的項目中完整日曆中動態顯示事件。有一個錯誤,我不明白這背後的原因,但是當我硬編碼事件陣列它的工作正常。SyntaxError:missing;同時顯示完整日曆中的事件

日曆jQuery代碼:

$(document).ready(function() { 
    $('.fullcalendar').fullCalendar({ 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,basicWeek,basicDay' 
     }, 
     events: [ 
      eventList() 
     ] 
    }); 

Ajax調用

function eventList(){ 
    $.ajax({ 
     url :'/calendarMaintenanceData', 
     type: 'GET', 
     dataType: 'json', 
     success:function(data){ 
      $.each(data, function (index, item) {                      
       { 
        id:item.id, 
        title:item.machinecode, 
        start:item.estimated_maintenance_date 
       } 
      }); 
     } 
    }); 
} 

錯誤:

enter image description here

回答

1

eventList需要將所有事件放入數組中。您可以使用$.map而不是$.each來執行此操作。

success:function(data){ 
     return $.map(data, function (item) { 
      return {                      
       id:item.id, 
       title:item.machinecode, 
       start:item.estimated_maintenance_date 
      }; 
     }); 
    } 

但是,這仍然不會。問題是$.ajax是異步的,所以回調函數的返回值不會返回到fullCalender函數。創建數組後,您需要在回調函數中調用fullCalendar

function eventList(callback){ 
    $.ajax({ 
     url :'/calendarMaintenanceData', 
     type: 'GET', 
     dataType: 'json', 
     success:function(data){ 
      callback($.map(data, function (item) {                      
       return { 
        id:item.id, 
        title:item.machinecode, 
        start:item.estimated_maintenance_date 
       }; 
      }); 
     } 
    }); 
} 

$(document).ready(function() { 
    eventList(function(events) { 
     $('.fullcalendar').fullCalendar({ 
      header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,basicWeek,basicDay' 
      }, 
      events: events 
     }); 
    }); 
}); 
+0

是的,它的工作很好......非常感謝Barmar。 – aniruddh

0

$.each()你有一個變量分配給這樣

定義的對象
$.each(data, function (index, item) {                      
        var someobject = { 
         id:item.id, 
         title:item.machinecode, 
         start:item.estimated_maintenance_date 
         }; 
        }); 
+0

我在此之後新的錯誤顯示 { 類型錯誤分配變量:d是未定義 \t ...形式(d)),a.extend(I,d)中,e &&(ⅰ。 source = e),i._id = d._id ||(void 0 === d.id?「_ fc」+ tb ++:d .... \t} – aniruddh

+0

您是否定義了變量d,因爲它不是在你發佈的代碼 –

+0

不,我沒有使用d變量任何地方 – aniruddh

相關問題