基于Asp.net与Javascript控制的日期控件_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"));
}
}
}

时间: 2024-10-02 00:28:41

基于Asp.net与Javascript控制的日期控件_javascript技巧的相关文章

JavaScript用select实现日期控件_javascript技巧

代码很简单,这里就不多废话了,直接给大家源码吧 <!doctype html> <html> <head> <title>年月日</title> </head> <body onLoad="init()"> <select id="year" onChange="swap_day()"></select>年 <select id=&q

基于asp.net电影在线售票 使用什么控件 怎么实现的

问题描述 基于asp.net电影在线售票使用什么控件怎么实现的 解决方案 解决方案二:现成的控件只能给你做培训班课堂练习.你应该脚踏实地做一些项目.如果觉得你的设计能力够了,那么你应该拿出系统设计蓝图.而不抄个控件或者什么开源代码.解决方案三:你的问题看似花哨,但是"上不着天下不着地"无法落地,将求做事"执行力"的人根本无法回答.解决方案四:一个在线系统是一个控件可以拉出来就实现的吗?解决方案五:本帖最后由 caozhy 于 2014-10-01 23:53:17

JavaScript实现的日期控件具体代码_javascript技巧

复制代码 代码如下: <html> <head> <style> <!-- .wr{font-size: 12pt; line-height: 22px} .wr1 {  FONT-SIZE: 12px; LINE-HEIGHT: 200%} .wr2 {  FONT-SIZE: 14px; LINE-HEIGHT: 200%} .wr3 {  FONT-SIZE: 12px} .wr4 {  FONT-SIZE: 12px; LINE-HEIGHT: 150%}

javascript显示中文日期的方法_javascript技巧

本文实例讲述了javascript显示中文日期的方法.分享给大家供大家参考.具体实现方法如下: 将以下代码加入HEML的<body></body>之间 <script LANGUAGE="JavaScript"> function number(index1){ var numberstring="一二三四五六七八九十"; if(index1 ==0) {document.write("十")} if(inde

iframe里使用JavaScript控制主页转向的方法_javascript技巧

本文实例讲述了iframe里使用JavaScript控制主页转向的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码写在iframe里面,点击按钮后整个网页会转向指定的url,而不是只转iframe里的页面 <!DOCTYPE html> <html> <head> <script> function breakout() { if (window.top!=window.self) { window.top.location="tryjs

纯javascript版日历控件_javascript技巧

平时只有下班时间能code,闲来写了个纯javascript版.引用该calendar.js文件,然后给要设置成日历控件的input的id设置成calendar,该input就会变成日历控件. <!doctype html> <html> <head> <meta charset="utf-8"> <title>日历控件</title> <script src="js/calendar.js&quo

Javascript 写的简单进度条控件_javascript技巧

很多的时候用户需要等待你"臃肿"的 Javascript 代码处理完成(Web 2.0 的特色).期间或许加入一个类似于进度条的东西让用户有点"安慰".这个东西实现起来并不复杂,无非就是获得总的处理条目,然后获得一个百分比,再显示输出. 通过我们伟大的 CSS,可以实现非常漂亮的进度条样式.加上 Javascript 的效果,就可以完全"欺骗"我们的用户,让他们有耐心等待浏览器处理完成.上述的原理已经知道了,那么就可以直接看代码了.本人使用的还是

自己动手写的javascript前端等待控件_javascript技巧

等待控件在网上搜有好多种,但是都很复杂,不一定用的顺手,再说我的项目是bootstrap的原因,又不敢轻易使用第三方控件,怕不兼容,于是自己动手写了个等待控件,其技术点包括动态加载CSS,javascript的命名空间,所以记录一下. 这个等待控件主要是:进行某个操作前,显示一个信息提示:"数据加载中,请稍候...",操作成功后,在回调函数中将提示消失,原理是这个等待控件完全由JS动态加进去,包括CSS,页面中并无预先设定. 那么这个CSS怎么动态加载呢?等待控件中,样式使用了clas

javascript oop开发滑动(slide)菜单控件_javascript技巧

这里使用原生的javascript,用面向对象的方式创建一个容易维护使用方便的滑动菜单,调用方式如下: 复制代码 代码如下: var $sliding = document.getElementById("silding"); var s1 = new Sliding(); s1.commands = $sliding.getElementsByTagName("dt"); s1.panels = $sliding.getElementsByTagName(&quo