JQuery UI datepicker: Показать календарь для даты программно. - PullRequest
2 голосов
/ 30 октября 2010

Есть ли способ показать календарь на определенный год и месяц, используя параметры конфигурации DatePicker? В документации API нет такой функциональности. Есть ли выход?

Ответы [ 2 ]

4 голосов
/ 30 октября 2010

Вы можете позвонить:

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 Days на _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 голосов
/ 12 февраля 2013
$( ".selector" ).datepicker({ minDate: startDate, maxDate: endDate });

minDate и maxDate являются объектами дат JavaScript.

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

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

...