// Global variables let limitFirstDay = new Date(); let limitLastDay = new Date(); function setDateLimits( inRowCount) { $('#q4 tr td[data-title="Date"] input').each( function( rowIndex) { if (rowIndex == 0) { limitFirstDay = new Date( $(this).val()); limitLastDay = new Date( limitFirstDay); limitFirstDay.setDate(1); limitLastDay.setMonth(limitLastDay.getMonth() + 1); limitLastDay.setDate(1); limitLastDay.setDate(limitLastDay.getDate() - 1); } else { if (rowIndex == inRowCount - 1) $(this).attr( {min: limitFirstDay.toISOString().substring(0, 10), max: limitLastDay.toISOString().substring(0, 10)}); }; }); }; $(document).ready( function() { $('#q3').click( function() { // Add row setDateLimits($('.propCount').val()); }); });