JQuery UI datepicker:以编程方式显示日期日历。

时间:2010-10-30 14:38:57

标签: jquery-ui jquery-ui-datepicker

我们是否可以使用datepicker配置选项显示特定年份和月份的日历? API文档未列出任何此类功能。还有出路吗?

2 个答案:

答案 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 });

minDatemaxDate是JavaScript日期对象。

http://api.jqueryui.com/datepicker/#option-minDate

http://api.jqueryui.com/datepicker/#option-maxDate