MobiScroll中的自动增量轮

时间:2012-11-08 19:44:42

标签: javascript 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月,但事实并非如此。相反,它会回到当年的第一个有效日期。这不是很直观。

有谁知道如何使滚动条按预期运行?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想要滚动几个月...一旦月份到达12月,然后你试图滚动到12月它应该切换到1月并增加年份?如果是这种情况,那么我认为Mobiscroll不会这样。它的工作方式是你独立选择一个月,一天和一年。


如果我对你的问题有所了解,那么我建议设置一个minDate和maxDate,看看是否有帮助(请注意月份为零索引):

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

另外,我认为它已经默认为当前的实际年份,所以我会删除startYear,除非你想要一个不同的年份。


编辑: 你可以使用带有SetValue方法的OnChange事件来增加年份,如果前一个月是12月,新月份是1月份,如果前一个月是1月份,新月份是12月,则减少年份等等。参见{{ 3}}。看起来确实有很多额外的工作和开销。