基于Asp.net與Javascript控制的日期控件
更新時(shí)間:2010年05月22日 02:42:31 作者:
使用Asp.net+Javascript控制的日期控件,需要的朋友可以參考下。
控件效果如下:

從左到右:month,day,year
.cs文件初始化這三個(gè)下拉列表
復(fù)制代碼 代碼如下:
private void BindBirthDay(int day, int month, int year)
{
int dayNow = day;
int monNow = month;
int yearNow = year;
//binding Month
for (int i = 1; i <= 12; i++)
{
ddlBirMon.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
ddlBirMon.Items[monNow - 1].Selected = true;
//binding Day
int daysOfMonth = DateTime.DaysInMonth(yearNow, monNow);
for (int i = 1; i <= daysOfMonth; i++)
{
ddlBirDay.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
ddlBirDay.Items[dayNow - 1].Selected = true;
//binding Year
for (int i = 20; i > 0; i--)
{
ddlBirYear.Items.Add(new ListItem((yearNow - i).ToString(), (yearNow - i).ToString()));
}
for (int i = 0; i < 20; i++)
{
ddlBirYear.Items.Add(new ListItem((yearNow + i).ToString(), (yearNow + i).ToString()));
}
ddlBirYear.Items.FindByValue(yearNow.ToString()).Selected = true;
}
js代碼如下(自己寫(xiě)的,不保證完全正確?。?
復(fù)制代碼 代碼如下:
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"));
}
}
}
您可能感興趣的文章:
- asp.net下日期加減的方法
- ASP.NET如何獲取兩個(gè)日期之間的天數(shù)
- asp.net 時(shí)間類 一周的周一和周末的日期
- asp.net 日期函數(shù) 某月的第一天和最后一天的日期
- Asp.net 時(shí)間操作基類(支持短日期,長(zhǎng)日期,時(shí)間差)
- asp.net 2個(gè)日期之間的整月數(shù)的算法
- asp.net下定制日期輸出格式的代碼
- ASP.NET(C#) 讀取EXCEL另加解決日期問(wèn)題的方法分享
- ASP.NET Calendar日歷(日期)控件使用方法
- 基于ASP.NET實(shí)現(xiàn)日期轉(zhuǎn)為大寫(xiě)的漢字
相關(guān)文章
jsp+javascript打造級(jí)連菜單的實(shí)例代碼
jsp+javascript打造級(jí)連菜單的實(shí)例代碼,需要的朋友可以參考一下2013-06-06
JavaScript中變量提升與函數(shù)提升經(jīng)典實(shí)例分析
這篇文章主要介紹了JavaScript中變量提升與函數(shù)提升,結(jié)合實(shí)例形式分析了JavaScript中的變量提升與函數(shù)提升相關(guān)原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2018-07-07
javascript實(shí)現(xiàn)分欄顯示小技巧附圖
考試頁(yè)面可以實(shí)現(xiàn)隱藏左邊的考生信息部分,學(xué)了javascript后也能實(shí)現(xiàn)這個(gè)功能了,下面是實(shí)現(xiàn)思路、代碼及解效果截圖,喜歡的朋友們可以看看2014-10-10
基于css3新屬性transform及原生js實(shí)現(xiàn)鼠標(biāo)拖動(dòng)3d立方體旋轉(zhuǎn)
這篇文章主要介紹了基于css3新屬性transform及原生js實(shí)現(xiàn)鼠標(biāo)拖動(dòng)3d立方體旋轉(zhuǎn) 的相關(guān)資料,需要的朋友可以參考下2016-06-06
ES6中解構(gòu)賦值的語(yǔ)法及用法實(shí)例
ES6的解構(gòu)賦值是一種快速方便的方法,可以從數(shù)組或?qū)ο笾刑崛≈挡⑵滟x值給變量,下面這篇文章主要給大家介紹了關(guān)于ES6中解構(gòu)賦值的語(yǔ)法及用法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
跟我學(xué)習(xí)javascript的prototype原型和原型鏈
跟我學(xué)習(xí)javascript的prototype原型和原型鏈,感興趣的小伙伴們可以參考一下2015-11-11
BooStrap對(duì)導(dǎo)航條的改造實(shí)踐小結(jié)
這篇文章主要介紹了BooStrap對(duì)導(dǎo)航條的改造實(shí)踐小結(jié)的相關(guān)資料,本文分步驟介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09

