2014-09-25 98 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/