基于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 点击按钮显示和隐藏层的代码
Jul 25 Javascript
JSON相关知识汇总
Jul 03 Javascript
js判断输入字符串是否为空、空格、null的方法总结
Jun 14 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
Dec 12 Javascript
Vue关于数据绑定出错解决办法
May 15 Javascript
Angular中$broadcast和$emit的使用方法详解
May 22 Javascript
vue结合Echarts实现点击高亮效果的示例
Mar 17 Javascript
vue.js将时间戳转化为日期格式的实现代码
Jun 05 Javascript
Vue导出页面为PDF格式的实现思路
Jul 31 Javascript
详解Webpack loader 之 file-loader
Nov 07 Javascript
微信小程序左滑删除功能开发案例详解
Nov 12 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
Aug 07 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控制网页过期时间的代码
2008/09/28 PHP
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
php函数间的参数传递(值传递/引用传递)
2013/09/23 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
gulp教程_从入门到项目中快速上手使用方法
2017/09/14 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
解决vue中修改export default中脚本报一大堆错的问题
2018/08/27 Javascript
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
基于ts的动态接口数据配置的详解
2019/12/18 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
分享6个隐藏的python功能
2017/12/07 Python
git进行版本控制心得详谈
2017/12/10 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
机械个人求职信范文
2014/01/24 职场文书
C++程序员求职信范文
2014/04/14 职场文书
城管综合整治方案
2014/05/01 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
Python Socket编程详解
2021/04/25 Python
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android