コントロールの効果は次のとおりです:
左から右へ: 月、日、年
.cs ファイルは、これら 3 つのドロップダウン リストを初期化します
private void BindBirthDay(int day, int month, int year)
{
int dayNow = day;
int yearNow = year; 🎜>//バインディング月
for (int i = 1; i {
ddlBirMon.Items.Add(new ListItem(i.ToString(), i.ToString( )));
}
ddlBirMon.Items[monNow - 1].Selected = true;
//バインディング Day
int daysOfMonth = DateTime.DaysInMonth(yearNow, monNow); (int i = 1 ; i {
ddlBirDay.Items.Add(new ListItem(i.ToString(), i.ToString())); >ddlBirDay.Items[ dayNow - 1].Selected = true;
//バインディング年
for (int i = 20; i > 0; i--)
{
ddlBirDay.Items .Add(new ListItem ((yearNow - i).ToString(), (yearNow - i).ToString()));
}
for (int i = 0; i {
ddlBir Year.Items.Add(new ListItem((yearNow i).ToString(), (yearNow i).ToString()));
}
ddlBir Year.Items.FindByValue(yearNow. ToString()).Selected = true;
}
js コードは次のとおりです (私が書いたものであり、完全に正しいとは限りません):
コードをコピーします
コードは次のとおりです。 function ChangeDay() { var month = document.getElementById("< %=ddlBirMon.ClientID %>"); var year = document.getElementById("<%=ddlBir Year.ClientID %>");
var day = document.getElementById("<%= ddlBirDay.ClientID %>");
if (month.selectedIndex == 3 || month.selectedIndex == 5 || month.selectedIndex == 8 || month.selectedIndex == 10) {
if (day.length == 31) {
if (day.options[30].selected == true) {
day.options[29].selected = true;
}
日。
}
}
else{
while (day.length day.add(new Option(day.length 1,day.length 1) ));
}
}
if (month.selectedIndex == 1) {
if (day.length > 28) {
if (day.selectedIndex == 28) {
day.options[27].selected = true;
}
while (day.length > 28) {
day.remove(day.length - 1); 🎜>}
var sy = year.options [year.selectedIndex].value;
if ((sy % 4 == 0 && sy % 100 != 0) || (sy % 400==0) ) {
day.add(new Option( "29", "29"));
}
}
}