月が変更されるたびに選択ボックス内の日を更新する単純な 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 から始まりますか? 第二に、月に加えて年を考慮する必要があるかどうかわかりませんか?
これを理解する助けがあれば大歓迎です。