基于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 绑定带参数的事件以及手动触发事件
Apr 27 Javascript
javascript下利用arguments实现string.format函数
Aug 24 Javascript
node.js适合游戏后台开发吗?
Sep 03 Javascript
jQuery中nextAll()方法用法实例
Jan 07 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
Feb 06 Javascript
jquery弹出遮掩层效果【附实例代码】
Apr 28 Javascript
详解vue之页面缓存问题(基于2.0)
Jan 10 Javascript
javaScript封装的各种写法
Aug 14 Javascript
基于vue.js路由参数的实例讲解——简单易懂
Sep 07 Javascript
javascript 中模板方法单例的实现方法
Oct 17 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
Mar 06 jQuery
Vue 仿QQ左滑删除组件功能
Mar 12 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
初品cakephp 入门基础
2012/02/16 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
深入Nginx + PHP 缓存详解
2013/07/11 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
laravel dingo API返回自定义错误信息的实例
2019/09/29 PHP
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
使用jQuery监听DOM元素大小变化
2016/02/24 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
Bootstrap table 定制提示语的加载过程
2017/02/20 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
node+vue实现文件上传功能
2020/05/28 Javascript
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
品学兼优的大学生自我评价
2013/09/20 职场文书
协议书样本
2014/04/23 职场文书
团队精神口号
2014/06/06 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
优秀学生干部事迹材料
2014/12/24 职场文书
建筑工程催款函
2015/06/24 职场文书
一文了解MYSQL三大范式和表约束
2022/04/03 MySQL