Вы можете манипулировать datepicker
перед его отображением, но помните, что его необходимо сбросить, если на странице есть другие средства выбора даты, поскольку имеется только 1 фактический указатель даты <div>
.
Я создал демо , которое может делать то, что вы хотите. Надеюсь, это поможет.
HTML
Normal: <input type="text">
<p>No days: <input type="text" class="noDays"></p>
CSS
p {
position:absolute;
bottom:5px;
}
div.noDays table {
display:none;
}
JavaScript (требуется jQuery и jQueryUI)
$('input').datepicker({
showButtonPanel: true,
changeMonth: true,
changeYear: true,
dateFormat:'MM yy',
beforeShow: function(input, inst) {
if ($(input).hasClass('noDays')) {
$('#ui-datepicker-div').addClass('noDays');
} else {
$('#ui-datepicker-div').removeClass('noDays');
$(this).datepicker('option', 'dateFormat', 'yy-mm-dd');
}
},
onClose: function(dateText, inst) {
if ($('#ui-datepicker-div').hasClass('noDays')) {
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1));
}
}
});