仅用于月份和年份的JQuery日期选择器

仅用于月份和年份的JQuery日期选择器,jquery,datepicker,Jquery,Datepicker,我使用的是jquery Datepicker UI。我只需要显示使用此UI的月份和年份。 我是通过以下代码得到的: $(function() { $('.date-picker').datepicker( { changeMonth: true, changeYear: true, showButtonPanel: true, dateFormat: 'yy-mm', onChangeMonthYe

我使用的是jquery Datepicker UI。我只需要显示使用此UI的月份和年份。 我是通过以下代码得到的:

$(function() {
         $('.date-picker').datepicker( {
        changeMonth: true,
        changeYear: true,
        showButtonPanel: true,
        dateFormat: 'yy-mm',
        onChangeMonthYear: function(dateText, inst) { 
            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));

        }
    });
});
HTML:

<input type='text' id='date' name='eattdate' class='date-picker' value='".$date."' style='width:105px;'>

这工作正常,默认显示当前月份和年份。但我想选择月份和年份。

尝试以下操作:

defaultDate: new Date()

首先,我相信你错过了日历的隐秘之处(我猜你也希望如此,因为你只处理月份和年份,但我可能错了)。因此,如果这确实是您的意图,请使用:

.ui-datepicker-calendar {
    display: none;
}
在CSS文件中。

现在,对于未在先前选择的日期打开的日期选择器,您可以在显示之前引入一个
,如下所示:

$(function() {
     $('.date-picker').datepicker( {
        changeMonth: true,
        changeYear: true,
        showButtonPanel: true,
        dateFormat: 'yy-mm',

        onChangeMonthYear: function(dateText, inst) { 
            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));
        },

        beforeShow: function() {
            var dateText = $(this).val();
            var isPopulated = dateText.length > 0;

            if (isPopulated) {
                var selectedDate = $.datepicker.parseDate("yy-mm-dd", dateText + "-01");

                $(this).datepicker("option", "defaultDate", selectedDate);
                $(this).datepicker("setDate", selectedDate);
                $(this).datepicker("refresh");
            }
        }
    });
});
我相信这会让你得到你想要的