基于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压缩混淆工具
May 16 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
Oct 24 Javascript
基于JQuery的动态删除Table表格的行和列的代码
May 12 Javascript
jquery禁用右键单击功能屏蔽F5刷新
Mar 17 Javascript
jQuery链式操作实例分析
Nov 16 Javascript
JS实现的幻灯片切换显示效果
Sep 07 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
Mar 06 Javascript
微信小程序之发送短信倒计时功能
Aug 30 Javascript
js闭包学习心得总结
Apr 17 Javascript
vue-cli项目修改文件热重载失效的解决方法
Sep 19 Javascript
VUE实现密码验证与提示功能
Oct 18 Javascript
解决ant Design中Select设置initialValue时的大坑
Oct 29 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
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
PHP框架Laravel学习心得体会
2015/10/28 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
学习ExtJS 访问容器对象
2009/10/07 Javascript
Jquery阻止事件冒泡 event.stopPropagation
2011/12/11 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
详解JavaScript对象序列化
2016/01/19 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
javascript鼠标滑过显示二级菜单特效
2020/11/18 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
2019/05/12 jQuery
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
python设置值及NaN值处理方法
2018/07/03 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
使用Python实现音频双通道分离
2020/12/25 Python
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
巴西最大的体育用品商城:Netshoes巴西
2016/11/29 全球购物
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
小学三年级数学教学反思
2014/01/31 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
工地标语大全
2014/06/18 职场文书
导游词300字
2015/02/13 职场文书
2015年统战工作总结
2015/05/19 职场文书
校园新闻稿范文
2015/07/18 职场文书
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers