2014-09-25 93 views
2

如何將我拖動的事件存儲到localstorage中?我已經找到了舊的fullcalendar版本,但是這個解決方案已經不再適用了。Fullcalendar v2存儲將事件拖放到本地存儲中

var EventsView = Backbone.View.extend({ 
    el: document.getElementById("content"), 
    render: function() { 
     var self = this; 
    var events = JSON.parse(localStorage.getItem('events')); 
    var events = new Events(events); 
    var jsevents = events.toJSON(); 
    this.el.innerHTML = _.template(calendarTemplate,{data : jsevents}); 
     $('#calendar').fullCalendar({ 
     agenda: 'h:mm{ - h:mm}', 
        '': 'h(:mm)t', 
      aspectRatio: 1.5, 
      droppable: true, 
      weekend: true, 
      editable: true, 
      eventDrop: function(event) { 

       // ??????????????????????????????? 

      }, 
      defaultView: 'month', 
      firstDay: 1, 
      handleWindowResize: true, 
      allDayDefault: false, 
      firstHour: 7, 
      columnFormat: { 
       month: 'dddd',  
       week: 'ddd, dS', 
       day: 'dddd, MMM dS' 
      }, 
      header: { 
       right: 'prev,next', 
       center: 'title', 
       left: 'month,agendaWeek,agendaDay' 
      }, 
      selectable: true, 
      selectHelper: true, 
      select: function(start, end) { 
      var title = prompt('Event Title:'); 
      var eventData; 
      if (title) { 
       eventData = { 
        title: title, 
        start: start, 
        end: end 
      }; 
      $('#calendar').fullCalendar('renderEvent', eventData, true); 
      events.push(eventData); 
      localStorage.setItem('events',JSON.stringify(events)); 
      } 
      $('#calendar').fullCalendar('unselect'); 
     }, 
      events: function(start, end, timezone, callback) { 
       callback(jsevents); 
      } 
     }); 
    },   

你可以看到我的選擇功能正常工作。我的意思是選定的事件存儲在數據庫中。

回答

2

我能夠複製您的例子,它的工作就好了,我說的僅僅是事件的定義,我做到了爲骨幹收集

var Events = Backbone.Collection.extend({}); 

我認爲你需要調試,同時設置在本地存儲的價值,儘量只在本地存儲設置之前登錄的

JSON.stringify(events) 

編輯: 的jsfiddle:http://jsfiddle.net/mfarouk/vcsr45q8/25/