Sandy8606

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

控件效果如下:

从左到右:month,day,year

.cs文件初始化这三个下拉列表

 

代码
1 private void BindBirthDay(int day, int month, int year)
2 {
3 int dayNow = day;
4 int monNow = month;
5 int yearNow = year;
6
7 //binding Month
8   for (int i = 1; i <= 12; i++)
9 {
10 ddlBirMon.Items.Add(new ListItem(i.ToString(), i.ToString()));
11 }
12 ddlBirMon.Items[monNow - 1].Selected = true;
13
14 //binding Day
15 int daysOfMonth = DateTime.DaysInMonth(yearNow, monNow);
16 for (int i = 1; i <= daysOfMonth; i++)
17 {
18 ddlBirDay.Items.Add(new ListItem(i.ToString(), i.ToString()));
19 }
20 ddlBirDay.Items[dayNow - 1].Selected = true;
21
22 //binding Year
23 for (int i = 20; i > 0; i--)
24 {
25 ddlBirYear.Items.Add(new ListItem((yearNow - i).ToString(), (yearNow - i).ToString()));
26 }
27 for (int i = 0; i < 20; i++)
28 {
29 ddlBirYear.Items.Add(new ListItem((yearNow + i).ToString(), (yearNow + i).ToString()));
30 }
31 ddlBirYear.Items.FindByValue(yearNow.ToString()).Selected = true;
32 }

 

 

js代码如下(自己写的,不保证完全正确啊):

 

代码

function ChangeDay() {
var month = document.getElementById("<%=ddlBirMon.ClientID %>");
var year = document.getElementById("<%=ddlBirYear.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;
}
day.remove(
30);
}
}
else{
while (day.length < 31) {
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"));
}
}
}

 

posted on 2010-05-21 15:21  Sandy8606  阅读(330)  评论(0编辑  收藏  举报