基于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 相关文章推荐
IE php关于强制下载文件的代码
Aug 23 Javascript
jQuery中绑定事件的命名空间详解
Apr 05 Javascript
js显示时间 js显示最后修改时间
Jan 02 Javascript
JS实现程序暂停与继续功能代码解读
Oct 10 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
Sep 09 Javascript
JavaScript动态生成二维码图片
Apr 20 Javascript
浅谈javascript中关于日期和时间的基础知识
Jul 13 Javascript
带你快速理解javascript中的事件模型
Aug 14 Javascript
Three.js利用顶点绘制立方体的方法详解
Sep 27 Javascript
RequireJS用法简单示例
Aug 20 Javascript
Openlayers实现地图全屏显示
Sep 28 Javascript
Vue仿Bibibili首页的问题
Jan 21 Vue.js
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
福利彩票幸运号码自动生成器
2006/10/09 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
js更优雅的兼容
2010/08/12 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
js有序数组的连接问题
2013/10/01 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
2016/01/05 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
python回调函数的使用方法
2014/01/23 Python
Python subprocess模块学习总结
2014/03/13 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
2018/09/27 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
工作保证书范文
2014/04/29 职场文书
护理自荐信
2019/05/14 职场文书
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android
MySQL数据库表约束讲解
2022/06/21 MySQL