JSFiddle - React, Tailwind, and code Playground
HTML
<input id="myDate" type="text" data-month-only=false>
CSS
.ui-month-only .ui-datepicker-calendar { display: none; }
JavaScript
function handleDateInput() {
var $input = $('#myDate');
var dClass = "ui-normal";
var dOptions = {
changeMonth: false,
changeYear: false,
dateFormat: 'dd MM yy',
showButtonPanel: false
};
if( $input.data('month-only') === true ) {
var dFormat = "MM yy";
dOptions = {
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: dFormat,
onClose: function( e, ui ) {
var d = new Date( ui.drawYear , ui.drawMonth , 1);
$(ui.input).datepicker('setDate', d);
}
};
dClass = "ui-month-only";
}
$('#myDate').datepicker( dOptions ).datepicker('widget').addClass( dClass );
};
$('#myDate').data('month-only', true);
handleDateInput();