我们是否可以使用datepicker配置选项显示特定年份和月份的日历? API文档未列出任何此类功能。还有出路吗?
答案 0 :(得分: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');
这样做的好处是它实际上不会改变日期选择器的选定值。只有在用户实际点击日期时才会发生这种情况。
答案 1 :(得分:-1)
$( ".selector" ).datepicker({ minDate: startDate, maxDate: endDate });
minDate
和maxDate
是JavaScript日期对象。