基于Asp.net与Javascript控制的日期控件


Posted in Javascript onMay 22, 2010

控件效果如下:

基于Asp.net与Javascript控制的日期控件

从左到右:month,day,year

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

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代码如下(自己写的,不保证完全正确啊):
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")); 
} 
} 
}
Javascript 相关文章推荐
如何解决Jquery库及其他库之间的$命名冲突
Sep 15 Javascript
js全屏显示显示代码的三种方法
Nov 11 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
Mar 03 Javascript
JavaScript中扩展Array contains方法实例
Aug 23 Javascript
jQuery日期范围选择器附源码下载
May 23 jQuery
javascript观察者模式实现自动刷新效果
Sep 05 Javascript
使用watch监听路由变化和watch监听对象的实例
Feb 24 Javascript
node前端开发模板引擎Jade的入门
May 11 Javascript
解决vue-cli webpack打包后加载资源的路径问题
Sep 25 Javascript
微信小程序的tab选项卡的实现效果
May 15 Javascript
基于VUE实现判断设备是PC还是移动端
Jul 03 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
Jul 17 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
May 22 #Javascript
用jQuery打造TabPanel效果代码
May 22 #Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
May 21 #Javascript
jquery 多级下拉菜单核心代码
May 21 #Javascript
JQuery 学习技巧总结
May 21 #Javascript
Jquery调用webService远程访问出错的解决方法
May 21 #Javascript
ExtJS 下拉多选框lovcombo
May 19 #Javascript
You might like
PHP之COOKIE支持详解
2010/09/20 PHP
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
js的toLowerCase方法用法实例
2015/01/27 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
代码详解JS操作剪贴板
2018/02/11 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
vue中的计算属性和侦听属性
2020/11/06 Javascript
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
python中执行smtplib失败的处理方法
2020/07/01 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
HTML5通用接口详解
2016/06/12 HTML / CSS
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
听课评语大全
2014/04/30 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
安全生产先进个人总结
2015/02/15 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
2016年教师节慰问信
2015/12/01 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
ubuntu下常用apt命令介绍
2022/06/05 Servers