2010-10-30 135 views

回答

4

您可以拨打:

var x = $("#datePicker").datepicker(); 
$.datepicker._adjustDate(x,2,'M'); 

要向上移动两个月。或

var x = $("#datePicker").datepicker(); 
$.datepicker._adjustDate(x,-1,'Y'); 

一年搬回提前

var x = $("#datePicker").datepicker(); 
$.datepicker._adjustDate(x,42,'D'); 

移动6周。

如果你想跳转到特定的月份/年份,你有两个选择:直接在datepicker上调用setDate()(这也会因此改变选定的日期),或者你可以计算当前日期选定的日期和你的目标日期,然后通过X天到_adjustDate

//get currently selected date (or today if the user hasn't picked any) 
var currentdate = ((x.datepicker('getDate') !== null) ? x.datepicker('getDate') : new Date()); 
//set target date october 21, 2012 (Date() takes month -1) 
var targetdate = new Date(2012,9,21); 
//calculate the number of days different   
var diff = Math.round((targetdate-currentdate)/(1000*60*60*24),0); 
//adjust the datepicker by this number of days  
$.datepicker._adjustDate(x,diff,'D'); 

这样做的好处是,它实际上并不会改变日期选择器的设定值。只有当用户实际点击日期时才会发生这种情况。

+0

这个人是一个真棒的解决方案!我几乎绝望,直到我看到这一点。工程很棒 – Fearodin 2017-10-11 08:24:38