我正在尝试编写一个简单的 Javascript 函数来在更改月份时更新选择框中的日期:
/* automatically update days based on month */
function updateMonth(iMonth, iDay) {
var el = document.getElementById(iDay);
el.options.length = 0;
var d = new Date();
for(i = 0; i < (32 - new Date(d.getFullYear(), iMonth, 32).getDate()); i++) {
option = new Option(i, i);
el.options[i] = option;
}
}
<select name="start_month" id="start_month" onchange="updateMonth(this.value, 'start_day');">
<option>...</option>
</select>
<select name="start_day" id="start_day">
<option>...</option>
</select>
<select name="start_year" id="start_year">
<option>...</option>
</select>
首先,它似乎正在更新,但我得到了疯狂的结果。2 月给了我 30 天,1 月 27 日,它们都从 0 开始?其次,我不确定除了月份之外是否还需要考虑年份?
任何帮助理解这一点将不胜感激。