基于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 相关文章推荐
JavaScript 参考教程
Dec 29 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
Jan 29 Javascript
Javascript实现图片不间断滚动的代码
Jun 22 Javascript
jQuery ajaxForm()的应用
Oct 14 Javascript
浅谈jquery中next与siblings的区别
Oct 27 Javascript
iscroll动态加载数据完美解决方法
Jul 18 Javascript
js 获取html5的data属性实现方法
Jul 28 Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 Javascript
JavaScript事件冒泡与事件捕获实例分析
Aug 01 Javascript
详解JavaScript函数callee、call、apply的区别
Mar 08 Javascript
javascript刷新父页面方法汇总详解
Oct 10 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
Sep 27 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
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
php mysql数据库操作类
2008/06/04 PHP
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
php格式化json函数示例代码
2016/05/12 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
javascript for循环设法提高性能
2010/02/24 Javascript
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
python用requests实现http请求代码实例
2019/10/31 Python
python双向链表原理与实现方法详解
2019/12/03 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
python异常处理和日志处理方式
2019/12/24 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
python如何对链表操作
2020/10/10 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
就业自荐信
2013/12/04 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
卖车协议书范例
2014/09/16 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
卫生主题班会
2015/08/14 职场文书
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python