基于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 相关文章推荐
js 鼠标点击事件及其它捕获
Jun 04 Javascript
MooTools 1.2中的Drag.Move来实现拖放
Sep 15 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
Oct 12 Javascript
js实现发送验证码后的倒计时功能
May 28 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
Sep 01 Javascript
jQuery中Find选择器用法示例
Sep 21 Javascript
怎样判断jQuery当前元素是隐藏还是显示
Nov 23 Javascript
JavaScript Date 知识浅析
Jan 29 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
Oct 26 Javascript
优雅的处理vue项目异常实战记录
Jun 05 Javascript
angular共享依赖的解决方案分享
Oct 15 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错误、异常处理机制(补充)
2012/05/07 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
Angular4自制一个市县二级联动组件示例
2017/11/21 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
python验证码识别的实例详解
2016/09/09 Python
利用python程序帮大家清理windows垃圾
2017/01/15 Python
python中的二维列表实例详解
2018/06/19 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
浅谈python3中input输入的使用
2019/08/02 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
英文版网络工程师求职信
2013/10/28 职场文书
生产总经理岗位职责
2013/12/19 职场文书
教师绩效考核方案
2014/01/21 职场文书
2014年健康教育实施方案
2014/02/17 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
开工仪式策划方案
2014/05/23 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
python基于turtle绘制几何图形
2021/06/15 Python
Java实现多文件上传功能
2021/06/30 Java/Android