How to populate form dropdown with values depending on previous dropdown value?

jezwn 27-12-2019

I've got this 3 dropdown fields, month, day and year. Upon selection of a specific month the day dropdown field should be populated with exactly the number of days for that particular month. Similiary it should be accountable for leap years as well. How to do that in AEM Forms?

form validation

Accepted Solutions (1)

Accepted Solutions (1)

jezwn 27-02-2020

In the code editor for day use the following logic,

 

function getDates(numberOfDays) {
var dates = [];
var toDates;
for (var i = 1; i <= numberOfDays; i++)
{
if (i < 10) {
toDates = "0" + i + "=0" + i;
dates.push(toDates);
} else {
toDates = i + "=" + i;
dates.push(toDates);
}
}
return dates;
}

if (birthMonth.value == "January" || birthMonth.value == "March" || birthMonth.value == "May" || birthMonth.value == "July" || birthMonth.value == "August" || birthMonth.value == "October" || birthMonth.value == "December") {

this.items = getDates(31);
} else if (birthMonth.value == "February") {
this.items = getDates(29);
} else {
this.items = getDates(30);
}