有没有一种方法可以使用日期选择器配置选项显示特定年份和月份的日历? API 文档没有列出任何此类功能。还有出路吗?
最佳答案
你可以调用:
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 周。
如果您想跳转到特定的月份/年份,您有两种选择:直接在日期选择器上调用 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');
这样做的美妙之处在于它实际上不会更改日期选择器的选定值。只有当用户实际点击日期时才会发生这种情况。
关于jquery-ui - JQuery UI 日期选择器 : Show calendar for a date programmatically.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4059158/