2015-01-31 2 views
0

Я ищу способ программно установить месяц показа jQuery ui. Что-то вроде setDate, но за месяц.setMonth in jquery ui datepicker

$el = $(body); 
$el.datepicker() 
$el.datepicker('setDate', '2015-01-31') 
$el.datepicker('setMonth, '2015-03') // wanted feature 

Так изменить видимый месяц без изменения выбранной даты, есть такая особенность, что я пропустил или есть другой способ, чтобы получить тот же результат.

+0

Хорошо, но какой у вас вопрос? –

+0

setMonth не существует (насколько мне известно), поэтому я ищу другой способ получить тот же результат – svendjokumsen

ответ

0

Вы можете сначала прочитать текущую дату & сохранить стоимость дня. После этого вызова setDate с пользовательским объектом даты:

function setMonth(year, month) { 
    var currentDate = $("#datepicker").datepicker("getDate") || new Date(); 
    var day = currentDate.getDay(); 
    newDate = new Date(year, month, day); 
    $("#datepicker").datepicker("setDate", newDate); 
} 

Вы можете расширить Datepicker виджет с помощью widget factory если вы хотите вызвать setMonth() метод непосредственно на объекте Datepicker.

JSBin пример: http://jsbin.com/hopivuzeye/1/

0

Я совершил это, используя немного хака (работает на Firefox 47).

var DateObject = new Date('2015-01-31'); // the month of this date will be selected 
$("#date").datepicker(); 
$("#date").on('focus', function(e) { 
    if ($(this).val().length < 1) { 
     $(this).datepicker("setDate", DateObject); 
     $(this).val('') 
    } 
});