У меня есть еще одно решение на основе вышеизложенного с некоторыми улучшениями.В своем HTML я скрываю средство выбора дня, добавляя его, так как у меня есть только один на странице:
<style>
.ui-datepicker-calendar {
display: none;
}
</style>
Затем я инициализирую свой указатель даты, как и другие, и добавляю немного кода в событие onChangeMonthYear:
$n(this).datepicker({
defaultDate: 0,
changeMonth: true,
changeYear: true,
onChangeMonthYear: function(year, month, inst) {
$(this).datepicker('setDate', new Date(year, month - 1, 1));
}
});
Примечание:
month - 1
Если вы не добавите это, вы получите переполнение стека, потому что эта функция получаетиндексный месяц, основанный на 1, но setDate использует обычный месяц, основанный на 0.