Get Expected Year of Graduation with SELECT

by zkarmi

HTML

<select id="currentGrade" onchange="expectedGradYear();">
    <option value="0">Select Current Grade:</option>
    <option value="1">1st Grade</option>
    <option value="2">2nd Grade</option>
    <option value="3">3rd Grade</option>
    <option value="4">4th Grade</option>
    <option value="5">5th Grade</option>
    <option value="6">6th Grade</option>
    <option value="7">7th Grade</option>
    <option value="8">8th Grade</option>
    <option value="9">9th Grade</option>
    <option value="10">10th Grade</option>
    <option value="11">11th Grade</option>
    <option value="12">12th Grade</option>
</select>
<span id="exp-grad-year"></span>

JavaScript

function expectedGradYear() {
    currGrade = document.getElementById('currentGrade').value;
    
    if(currGrade === 0) return false;
    
    var MAX_GRADE = 12;
    var currTime = new Date();
    var currYear = currTime.getFullYear();
    var currMonth = currTime.getMonth(); // getMonth() returns 0 - 11; 0 = Jan, 1 = Feb, etc.
    var gradYear = currYear + (MAX_GRADE - currGrade);  
    // Are we in Jun - Dec? (Change based on when classes end at your school)
    if(currMonth >= 5 && currMonth <= 11)
        gradYear++;
    document.getElementById('exp-grad-year').innerHTML = gradYear;
    return false;   
}