2014-10-02 26 views
0

我有我的日曆左邊的月份列表。我如何使用這些月份標籤瀏覽日曆?Fullcalendar - 如何使用月份列表來瀏覽日曆

我使用這樣的事情,其中​​#個選項卡每個錨是不同的月份:

$('#months-tab a').click(function() { 
    $('#calendar').fullCalendar('next'); 
}); 

但是,沒關係我點擊它會去到下月一個月。如果日曆在十月份,我點擊三月,它將不會導航到三月,它將導航到下一個月,即十一月。

我知道它爲什麼不起作用,但我還沒有想出讓它按照我需要的方式工作。有任何想法嗎?

更新我開始做沿着此線的東西:

var date = new Date(); 
var currM = date.getMonth(); 
$j('.months-tab a').on('click', function(e){ 
    e.preventDefault(); 
    var newM = $j(this).attr('class'); 
    $j('#calendar').fullCalendar('gotoDate', newM-1); 
}); 

回答

0

您應該使用gotoDate而不是next。這樣您可以在正確的日期顯示日曆。

只要您在每個<a>中都有屬性data-month,以下JavaScript將會起作用。

請注意,months()是一個零基指數,因此1月份的指數爲0.如果您有任何疑問,請訪問他們的documentation

$('#months-tab a').click(function() { 
    var month = $(this).attr('data-month'); 

    var m = moment([moment().year(), month, 1]); 

    $('#calendar').fullCalendar('gotoDate', m); 
}); 

您可以檢查此JsFiddle提供與全電碼的工作示例。

+0

謝謝,我實際上開始做類似的事情,但沒有使用momentjs和使用類而不是數據屬性。我已經使用你所擁有的更新了它。 我正在嘗試做('gotoDate',m-1)。我想我只需要更改屬性值? – srodrig 2014-10-02 16:40:59

+0

做'm-1'將不起作用,因爲'm'是一個momentjs對象。據我所知,你有從1開始的月份(也就是1是1月份)。如果是這種情況,你可以保留屬性值,並將'm'創建的行改爲'var m = moment([moment()。year(),month - 1,1]);'所以對象是用'month - 1'創建的。 – 2014-10-02 16:47:28

+0

明白了,謝謝你的幫助! – srodrig 2014-10-02 16:51:26

相關問題