2012-11-08 42 views
0

我在網站上使用mobiscroll作爲日期輸入的方法。滾動器是這樣啓動的:MobiScroll中的自動增量輪

$(function(){ 
var curr = new Date().getFullYear(); 
$('#date').scroller({ 
    preset: 'date', 
    height: 30, 
    width: 20, 
    theme: 'default', 
    display: 'inline', 
    mode: 'scroller', 
    dateOrder: 'MD ddyy', 
    startYear: curr, 
    endYear: curr + 3, 
    minDate: new Date(), 
    showLabel: false, 
    onChange:function(){ upDATE(); } 
});  
$('#date').scroller('setValue', [11,9,'2012']); 

正如您所看到的,它以最小日期(今天)開始。當用戶嘗試從2012年12月滾動到1月時,會出現問題。你會預計今年會滾動到2013年1月,但事實並非如此。相反,它可以回到當年的第一個有效日期。這不是很直觀。

有誰知道如何使滾動按預期行爲?

回答

0

如果我理解正確,你想滾動幾個月......並且一旦月份到達十二月,然後你試圖滾動十二月,它應該切換到一月並增加一年?如果是這樣的話,我不認爲Mobiscroll就是這樣工作的。它似乎工作的方式是,你獨立選擇一個月,一天和一年。


如果我的路要走上理解你的問題,那麼我會建議設置的minDate和的maxDate,看看有沒有什麼幫助(注意,月份是零索引):

minDate: new Date(2000, 0, 1), 
maxDate: new Date(2020, 11, 31), 

而且,我認爲它已經默認爲實際的當年,所以我會刪除startYear,除非你想要一個不同的年份。


編輯: 你也許可以使用OnChange事件與SetValue方法來增加一年,如果前一個月是十二月,新的月份是一月和減少一年,如果前一個月是一月和新月份是十二月..等。請參閱http://docs.mobiscroll.com/mobiscroll-core。它看起來像是很多額外的工作和開銷。