JSFiddle - React, Tailwind, and code Playground

by Décio Luiz Rocha

HTML

<form>
			<select id="jform_Anos">
				<option value="">Anos</option>
			</select>

			<select id="jform_Meses">
				<option value="">Meses</option>
			</select>
			<select id="jform_Dias">
				<option value="">Dias</option>
			</select>
		</form>

JavaScript

$(document).ready(function () {
				$("#jform_Anos").change(function () {	
					var dataAtual = new Date();
					var dataFinal = dataAtual.getFullYear()+5;
					options_anos = '<option value="0">Anos</option>';
					for( var ano = dataAtual.getFullYear(); ano <= dataFinal; ano++){
						options_anos += '<option value="' + ano + '">' + ano + '</option>';
					}
					$("#jform_Anos option:selected").each(function () {
						options_meses = '<option value="0">Meses</option>';
						contaMes = 1;
						if ($("#jform_Anos option:selected").text() == dataAtual.getFullYear()){
							contaMes = dataAtual.getMonth()+1;
						}
						if ($("#jform_Anos option:selected").val() != 0){
							for( var mes = contaMes; mes <= 12; mes++){
								options_meses += '<option value="' + mes + '">' + mes + '</option>';
							}
						}
						
						$("#jform_Meses option:selected").each(function () {
							options_dias = '<option value="0">Dias</option>';
							contaDia = 1;
							if (($("#jform_Anos option:selected").text() == dataAtual.getFullYear()) & ($("#jform_Meses option:selected").text() == dataAtual.getMonth()+1)) {
								contaDia = dataAtual.getDate();
							}
							ultimoDia = (new Date( $("#jform_Anos option:selected").val(), ($("#jform_Meses option:selected").val() + 1), 0 )).getDate();
							if ($("#jform_Meses option:selected").val() != 0){
								for( var dia = contaDia; dia <= ultimoDia; dia++){
									options_dias += '<option value="' + dia + '">' + dia + '</option>';
								}
							}
						});
						$("#jform_Dias").html(options_dias);
					});
					$("#jform_Meses").html(options_meses);
					
				}).change();
				$("#jform_Anos").html(options_anos);
				
			});