基于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实际应用:innerHTMl和确认提示的使用
Jun 22 Javascript
Javascript开发之三数组对象实例介绍
Nov 12 Javascript
根据json字符串生成Html的一种方式
Jan 09 Javascript
jQuery中outerWidth()方法用法实例
Jan 19 Javascript
浅谈Node.js中的定时器
Jun 18 Javascript
贴近用户体验的Jquery日期、时间选择插件
Aug 19 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
Dec 14 Javascript
详解如何使用Vue2做服务端渲染
Mar 29 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
Jan 15 Javascript
百度小程序自定义通用toast组件
Jul 17 Javascript
Element Backtop回到顶部的具体使用
Jul 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
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
PHP获取数组中某元素的位置及array_keys函数应用
2013/01/29 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
javascript 流畅动画实现原理
2009/09/08 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
innerText 使用示例
2014/01/23 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
2018/11/27 jQuery
jQuery实现穿梭框效果
2021/01/19 jQuery
[50:20]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第四局
2016/03/06 DOTA
[01:20:05]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第二场 2月5日
2021/03/11 DOTA
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
三个儿子教学反思
2014/02/03 职场文书
政治思想表现评语
2014/05/04 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
清洁工个人工作总结
2015/03/05 职场文书