JSFiddle - React, Tailwind, and code Playground

HTML

<form>
<select class="value_year">
    <option value="2000">2000</option>
    <option value="2001">2001</option>
    <option value="2002">2002</option>
    <option value="2003">2003</option>
    <option value="2004">2004</option>
    <option value="2005">2005</option>
    <option value="2006">2006</option>
    <option value="2007">2007</option>
    <option value="2008">2008</option>
    <option value="2009">2009</option>
    <option value="2010">2010</option>
    <option value="2011">2011</option>
    <option value="2012" selected="selected">2012</option>
    <option value="2013">2013</option>
</select>
/
<select class="value_month">
    <option value="1">01</option>
    <option value="2">02</option>
    <option value="3">03</option>
    <option value="4">04</option>
    <option value="5">05</option>
    <option value="6">06</option>
    <option value="7">07</option>
    <option value="8">08</option>
    <option value="9">09</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12" selected="selected">12</option>
</select>
/
<select class="value_day">
    <option value="1">01</option>
    <option value="2">02</option>
    <option value="3">03</option>
    <option value="4">04</option>
    <option value="5">05</option>
    <option value="6">06</option>
    <option value="7">07</option>
    <option value="8">08</option>
    <option value="9">09</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18" selected="selected">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
    <option value="21">21</option>
    <option value="22">22</option>
    <option value="23">23</option>
    <option value="24">24</option>
    <option...

JavaScript

$(function() {
    // Show and hide days according to the selected year and month.

    function show_and_hide_days(fp_form) {
        var select_year = $(fp_form).find("select.value_year");
        var select_month = $(fp_form).find("select.value_month");
        var select_day = $(fp_form).find("select.value_day");
        var selected_year = parseInt($(select_year).val());
        var selected_month = parseInt($(select_month).val());
        var selected_day = parseInt($(select_day).val());
        var days_in_month = new Date(selected_year, selected_month, 0).getDate();

        // Remove days 29 - 31
        $(select_day).find("option[value='29'], option[value='30'], option[value='31']").remove();
        var daysOptions = "";

        if (days_in_month >= 29) {
            daysOptions += '<option value="29">29</option>';
        }
        if (days_in_month >= 30) {
            daysOptions += '<option value="30">30</option>';
        }
        if (days_in_month == 31) {
            daysOptions += '<option value="31">31</option>';
        }

        $(select_day).append(daysOptions);
    }

    // Show and hide all days in this page.

    function show_and_hide_all_days() {
        $("select.value_day").each(function() {
            var form = $(this).closest("form");
            // Show and hide days according to the selected year and month.
            show_and_hide_days(form);
        });
    }

    // Show and hide all days in this page.
    show_and_hide_all_days();

    $("select.value_year, select.value_month").live("change", function() {
        var form = $(this).closest("form");
        // Show and hide days according to the selected year and month.
        show_and_hide_days(form);
        return false;
    });
});