2014-12-03 120 views
0

多日事件很少有一個開始和一個結束時間。例如,伯明翰動漫公司可能會持續3天,但你不能在1上午!它對事件運行的三天中的每一天都有獨立的開始和結束時間。我沒有能夠找到關於每個事件的多個開始和結束時間的文檔中的任何內容,是否有其他人?fullCalendar多日事件開始和結束時間

編輯:

我如何得到這個工作,萬一有人認爲這是相同的功能後,是通過添加「eventlength」和「firstend」,「secondstart」,「secondend」,'第三次啓動「爲JSON值。這適用於我,因爲我的任何活動都不會超過三天。 'eventlength'只是一個數字(1,2或3),其餘的是時間/日期。

在fullCalendars eventClick部分我有一個if語句,循環遍歷各種可能的事件長度並顯示適當的值。

$startDf = 'ddd Do H:mma'; 
$endDf = 'H:mma'; 

if(calEvent.eventlength == 2){ 
    $this.find('#event__info .event-date').text((calEvent.start).format($startDf) + ' - ' + moment(calEvent.firstend).format($endDf) + '\n' + moment(calEvent.seccondstart).format($startDf) + ' - ' + (calEvent.end).format($endDf));} 
else if(calEvent.eventlength == 3){ 
    $this.find('#event__info .event-date').text((calEvent.start).format($startDf) + ' - ' + moment(calEvent.firstend).format($endDf) + '\n' + moment(calEvent.seccondstart).format($startDf) + ' - ' + moment(calEvent.seccondend).format($endDf) + '\n' + moment(calEvent.thirdstart).format($startDf) + ' - ' + (calEvent.end).format($endDf));} 
else { 
    $this.find('#event__info .event-date').text((calEvent.start).format($startDf) + ' - ' + (calEvent.end).format($endDf));} 

這顯示了三天的事件爲對壓延一個事件,但將輸出以下,我認爲更有意義比具有3點單獨一個一天的事件,或者是從天上午10點連續開啓的事件第三天一到四點。

太陽28日10:00 - 22:00

29日星期一上午10時 - 下午16:00

30日星期二上午10時 - 下午16:00

+0

安置自己的努力爲 – 2014-12-03 13:40:37

+0

的fullCalendar文件不sugest此選項。我不知道我應該嘗試什麼。 – 2014-12-03 13:44:55

回答

0

如果同樣的 「事件」 有倍數開始/結束時間,fullCalendar將它們視爲單獨的事件。如果您有多天的活動,只需創建不同的活動併爲其分配相同的ID即可。

Event.id documentation

字符串/整型。可選

唯一標識給定事件。重複 事件的不同實例都應具有相同的ID。

你的事件列表可以是這樣的:

var myEvents = { 
     title: "Birmingham Comic Con", 
     start: new Date('2014-11-20T09:00'), 
     end: new Date('2014-11-20T19:00'), 
     id: 1 
    }, { 
     title: "Birmingham Comic Con", 
     start: new Date('2014-11-21T09:00'), 
     end: new Date('2014-11-21T19:00'), 
     id: 1 
    }, 
    { 
     title: "Birmingham Comic Con", 
     start: new Date('2014-11-22T09:00'), 
     end: new Date('2014-11-22T19:00'), 
     id: 1 
    } 

所以,如果你需要更新你以後多天的活動,只需憑身份證參照該事件。您可以查看this plunker。您的評論後

更新: 如果你真的想保持事件僅作爲一個具有多天的事件只有一個事件,你可以添加自己的屬性事件對象,但後來你應該做的額外工作。對於eaxmple:

  • 自定義類顯示不同時,當漫畫孔門關閉。
  • 在打開或關閉時間點擊事件時,處理事件回調以更改方法。
  • ...

無論如何,你的事件可以是這樣的:

var myEvent = { 
     title: "Birmingham Comic Con", 
     start: new Date('2014-11-20T09:00'), 
     end: new Date('2014-11-22T19:00'), 
     id: 1, 
     isMultipleDay: true, 
     multipleDayEvents: [ 
      {start: new Date('2014-11-20T09:00'), 
      end: new Date('2014-11-20T19:00'), 
      description: 'Day 1' 
      }, 
      { 
      start: new Date('2014-11-21T09:00'), 
      end: new Date('2014-11-21T19:00'), 
      description: 'Day 2' 
      }, 
      { 
      start: new Date('2014-11-22T09:00'), 
      end: new Date('2014-11-22T19:00'), 
      description: 'Day 3' 
      } 
     ] 
    } 
+0

我在文檔中看到了這一點,我正在尋找一種方法將它們保存爲一個具有與它們相關的多個開始和結束時間數據的事件。我想我可以創建一堆虛擬數據以便後來提交,所以這個活動在一個開始和結束時間的所有三天中延伸,但是具有每天開始和結束時間的白天,白天,白天的單獨字段,所以當事件點擊它顯示所有的信息。只是似乎是一個貧民窟的方式去做。 – 2014-12-03 16:35:47

+0

我認爲從fullCalendar標準的角度來看,這是一種非常不同的方法。但是,當然,可能會做很多額外的工作。我在您的評論後更新了答案。 – 2014-12-04 09:06:16

相關問題