JSFiddle - React, Tailwind, and code Playground
by huppen
HTML
<form>
<select id="month"></select>
<select id="day"></select>
<select id="year" style="display:none;"></select>
</form>
JavaScript
$(document).ready(function() {
const monthNames = ["Januar", "Februar", "März", "April", "Mai", "Juni",
"Juli", "August", "September", "Oktober", "November", "Dezember"
];
let qntYears = 1;
let selectYear = $("#year");
let selectMonth = $("#month");
let selectDay = $("#day");
let currentYear = new Date().getFullYear();
for (var y = 0; y < qntYears; y++) {
let date = new Date(currentYear);
let yearElem = document.createElement("option");
yearElem.value = currentYear
yearElem.textContent = currentYear;
selectYear.append(yearElem);
currentYear--;
}
for (var m = 0; m < 12; m++) {
let month = monthNames[m];
let monthElem = document.createElement("option");
monthElem.value = m;
monthElem.textContent = month;
selectMonth.append(monthElem);
}
var d = new Date();
var month = d.getMonth();
var year = d.getFullYear();
var day = d.getDate();
selectYear.val(year);
selectYear.on("change", AdjustDays);
selectMonth.val(month);
selectMonth.on("change", AdjustDays);
AdjustDays();
selectDay.val(day)
function AdjustDays() {
var year = selectYear.val();
var month = parseInt(selectMonth.val()) + 1;
selectDay.empty();
//get the last day, so the number of days in that month
var days = new Date(year, month, 0).getDate();
//lets create the days of that month
for (var d = 1; d <= days; d++) {
var dayElem = document.createElement("option");
dayElem.value = d;
dayElem.textContent = d;
selectDay.append(dayElem);
}
}
});