2012-03-14 34 views
1

我已經實施了2周視圖輪廓here,我想知道是否有人可以告訴我如何/在哪裏更改prev/next按鈕來將日曆僅移動2周而不是下個月?不知道在哪裏更新fullcalendar.js。Jquery FullCalendar 2周查看下一頁prev按鈕

+0

退房這個答案在這裏http://stackoverflow.com/questions/2219381/jquery-fullcalendar-click-next-event-notificatin – jeffreyhamby 2012-03-14 19:19:53

+0

@jeffreyhamby這是不完全我在找什麼。點擊時日曆會更新,但它會按月進行默認更改。我的觀點是兩週,我需要改變兩週而不是下個月的第一週。 – 2012-03-15 14:57:35

+0

您必須更改JS代碼或添加代碼才能這樣做。請查看fullcalendar.js。當您點擊next/prev完整日曆代碼時,將檢查當前視圖並根據視圖進行移動。使用螢火蟲或適當的工具,並使用斷點檢查。或者研究fullcalendar.js – 2012-03-18 22:42:13

回答

5

想通了。問題在於我使用的解決方案基於月視圖,因爲它可能應該基於星期視圖。

第一,確保所有的觀點在defualts

// time formats 
titleFormat: { 
    month: 'MMMM yyyy', 
    twoweek: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}", 
    week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}", 
    day: 'dddd, MMM d, yyyy' 
}, 
columnFormat: { 
    month: 'ddd', 
    twoweek: 'ddd', 
    week: 'ddd M/d', 
    day: 'dddd M/d' 
}, 

被列出的信息。

buttonText: { 
    prev: ' ◄ ', 
    next: ' ► ', 
    prevYear: ' << ', 
    nextYear: ' >> ', 
    today: 'today', 
    month: 'month', 
    twoweek: '2 week', 
    week: 'week', 
    day: 'day', 
    resourceDay: 'designers' 
}, 

,這裏是我的2周視圖

fcViews.twoweek = TwoWeeksView; 

function TwoWeeksView(element, calendar) { 
var t = this; 

// exports 
t.render = render; 


// imports 
BasicView.call(t, element, calendar, 'twoweek'); 
var opt = t.opt; 
var renderBasic = t.renderBasic; 
var formatDates = calendar.formatDates; 



function render(date, delta) { 
    if (delta) { 
     addDays(date, delta*7); 
    } 
    var start = addDays(cloneDate(date), -((date.getDay() - opt('firstDay') + 7) % 7)); 
    var end = addDays(cloneDate(start), 7*2); 
    var visStart = cloneDate(start); 
    var visEnd = cloneDate(end); 
    var weekends = opt('weekends'); 
    if (!weekends) { 
     skipWeekend(visStart); 
     skipWeekend(visEnd, -1, true); 
    } 

    t.title = formatDates(
     visStart, 
     addDays(cloneDate(visEnd), -1), 
     opt('titleFormat') 
    ); 
    t.start = start; 
    t.end = end; 
    t.visStart = visStart; 
    t.visEnd = visEnd; 
    renderBasic(2, 2, weekends ? 7 : 5, true); 
} 

}

這裏的關鍵區別是最後一行代碼:renderBasic(2,2,週末7:5,真正);

如果您不更新有關默認視圖的信息,formatdates中的參數未定義並且存在問題。周視圖和月視圖之間有一些區別,使周視圖的兩週視圖變得更好。它變成了兩者之間的混合。希望這有助於任何正在尋找完整的2周視圖修補程序的人。

調用是這樣的:

$('#calendar').fullCalendar({ 
     header: { 
      left:'prev, next', 
      center: 'title', 
      right: 'twoweek' 
     }, 
     defaultView: 'twoweek', 
     weekMode:'fixed' 
    }); 
+0

非常好!我必須在底部調用'renderBasic'時將第二個參數更改爲'7',以便每週顯示「7」列(日)而不是'2'。 – 2014-01-22 23:33:41

+0

感謝你的幫助,下午給我保存了:)你的最後一行有錯誤,應該是'renderBasic(2,週末?7:5,真);' – axsuul 2014-05-31 03:33:13

相關問題