仅当从日期选择器的下拉菜单中选择年份时才激活月份下拉菜单

Activate Month dropdown only when Year is selected from dropdown in datepicker

请让我知道如何实现这个场景。

我正在使用 jquery 日期选择器。现在我的要求是用户应该只能 select 年优先于月和日。这是用于捕获出生日期。请帮助我。

$(".datePicker", $context).each( function() {
                var baseOptions = {
                    inline: true,
                    dateFormat : "dd-mm-yy",
                    changeYear: true,
                    changeMonth: true,
                    showOn: "button",
                    buttonImage: "img/calendar.gif",
                    buttonImageOnly: true,
                    showMonthAfterYear: true,
                    buttonText: "Select date"
                };

                var attr = $(this).attr("min");
                if (attr != undefined) {
                    baseOptions.minDate = attr;
                    baseOptions.yearRange = "+0:+5";
                }

                attr = $(this).attr("max");
                if (attr != undefined) {
                    baseOptions.maxDate = attr;
                    baseOptions.yearRange = "-120:+0";
                }

                attr = $(this).attr("setBirthdate");
                if(attr!=undefined){

                    var date = new Date(attr);
                    date.setFullYear(date.getFullYear()-12)
                    baseOptions.defaultDate = date;
                }
                    options = {
                        onSelect: function(dateText, inst){

                            $(this).val(dateText).trigger('change');
                            $(inst).hide();
                        }
                    };
                    $(this).datepicker($.extend(baseOptions, options));
                    $(this).on('click', function (e) { e.preventDefault(); }).datepicker($.extend(baseOptions, options));
                //}
            }

正如我在评论中所说,我认为没有必要这样做。但是,如果你真的需要它以这种方式工作,我会使用类似 combobox 的东西并添加一点 css/jQuery 来获得这种效果

$(function(){
    $('#date').combodate();  
    
    $('.year').change(function(){
        $(this).parent('.combodate').find('.month').show();
    });
    
    $('.month').change(function(){
        $(this).parent('.combodate').find('.day').show();
    });
    
});
.day{
    display:none;
}
.month{
    display:none;
}
<link href="http://vitalets.github.io/combodate/prettify/prettify-bootstrap.css" rel="stylesheet"/>
<link href="http://vitalets.github.io/combodate/bootstrap/css/bootstrap.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://vitalets.github.io/combodate/combodate.js"></script>
<script src="http://vitalets.github.io/combodate/momentjs/moment.min.2.5.0.js"></script>


<input type="text" id="date" data-format="DD-MM-YYYY" data-template="D MMM YYYY" name="date" value="">