标题:日期选择器
只看楼主
downdown
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2005-6-20
 问题点数:0 回复次数:8 
日期选择器
哪位老大有好用的日期选择器,可以控制不显示以前日期的那种,分享一下。
不胜感激! 找了好几个都不理想.....
搜索更多相关主题的帖子: 选择 
2005-10-19 10:17
不妥协の乌鸦
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2005-10-18
得分:0 
哦 就象这个论坛注册时候的一样啊~用下拉菜单得了~

多学习 多学习
2005-10-19 14:40
downdown
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2005-6-20
得分:0 
我要找的是日期选择器,拜托!
2005-10-20 12:57
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
什么叫日期选择器?
做什么用的?
怎么用啊?

2005-10-20 13:12
downdown
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2005-6-20
得分:0 

[CODE]<script> //定义显示时间的格式 //1. 年-月-日 如:2002-3-6 //2. 月/日/年 如:3/6/2002 var showType=1;//默认为1;2002-3-6 //中文月份,如果想显示英文月份,修改下面的注释 /*var months = new Array("January?, "February?, "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");*/ var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"); var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); //中文周 如果想显示 英文的,修改下面的注释 /*var days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");*/ var days = new Array("日","一", "二", "三", "四", "五", "六"); var getObject,oldObject;//取得当前对象 function getDays(month, year) { //下面的这段代码是判断当前是否是闰年的 if (1 == month) return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28; else return daysInMonth[month]; } function getToday() { //得到今天的年,月,日 this.now = new Date(); this.year = this.now.getFullYear(); this.month = this.now.getMonth(); this.day = this.now.getDate(); } today = new getToday(); function newCalendar() { today = new getToday(); var parseYear = parseInt(document.all.year [document.all.year.selectedIndex].text); var newCal = new Date(parseYear, document.all.month.selectedIndex, 1); var day = -1; var startDay = newCal.getDay(); var daily = 0; if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth())) day = today.day; var tableCal = document.all.calendar.tBodies.dayList; var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear()); for (var intWeek = 0; intWeek < tableCal.rows.length;intWeek++) for (var intDay = 0;intDay < tableCal.rows[intWeek].cells.length;intDay++) { var cell = tableCal.rows[intWeek].cells[intDay]; if ((intDay == startDay) && (0 == daily)) daily = 1; if(day==daily) //今天,调用今天的Class cell.className = "today"; else if(intDay==6) //周六 cell.className = "sunday"; else if (intDay==0) //周日 cell.className ="satday"; else //平常 cell.className="normal"; if ((daily > 0) && (daily <= intDaysInMonth)) { cell.innerText = daily; daily++; } else cell.innerText = ""; } } function getDate() { var sDate; //这段代码处理鼠标点击的情况 if ("TD" == event.srcElement.tagName) if ("" != event.srcElement.innerText) {//从这儿可以改显示日期的格式 if(showType==1) sDate = document.all.year.value + "-" + document.all.month.value + "-" + event.srcElement.innerText + ""; else if(showType==2) sDate = document.all.month.value + "/" + event.srcElement.innerText +"/"+ document.all.year.value; else sDate = document.all.year.value + "-" + document.all.month.value + "-" + event.srcElement.innerText + ""; getObject.value=sDate; // setUpdateFlag(getObject);//触发事件,保存数据 HideLayer(); } } function HideLayer() { Layer.style.visibility = "hidden"; } function LayerShow(){ Layer.style.visibility = "visible"; } function ShowLayer(t,l) { if(oldObject==null)oldObject=getObject;//付值 if(Layer.style.visibility != "visible" && oldObject==getObject){//判断是否操作同一表格 //if(l>480)l=l-131; Layer.style.top = t+document.body.scrollTop; Layer.style.left = l+document.body.scrollLeft; Layer.style.visibility = "visible"; oldObject=getObject; } else if(oldObject==getObject){ HideLayer(); } else{ //if(l>480)l=l-131; Layer.style.top = t+document.body.scrollTop; Layer.style.left = l+document.body.scrollLeft; Layer.style.visibility = "visible"; oldObject=getObject; } } function selectDate(x){ window.event.cancelBubble = true;//冒泡,使触发页面事件失效 getObject=x; var xx=event.clientX;//取得x坐标; var yy=event.clientY;//取得y坐标; newCalendar(); ShowLayer(yy,xx);//显示出div } function show(){//冒泡,点击层失效 window.event.cancelBubble = true; } //定义移动 var Obj='' document.onmouseup=MUp document.onmousemove=MMove function MDown(Object){ Obj=Object.id document.all(Obj).setCapture(); pX=event.x-document.all(Obj).style.pixelLeft; pY=event.y-document.all(Obj).style.pixelTop; } function MMove(){ if(Obj!=''){ document.all(Obj).style.left=event.x-pX; document.all(Obj).style.top=event.y-pY; } } function MUp(){ if(Obj!=''){ document.all(Obj).releaseCapture(); Obj=''; } }

//定义div显示日期; function getLayer(){ document.write("<div id=\"Layer\" onclick=show() style=\"position:absolute; width:131; z-index:2; border:1px inset black; background-color: #f0f8ff; layer-background-color: #f0f8ff; visibility: hidden; height: 38; left:58; top:137;\"><input type=\"hidden\" name=\"ret\"><table bgcolor=#99B6D0 width=100% style=\"cursor:move\" onmousedown=MDown(Layer)><tr align=center><td>按住鼠标拖动</td></tr></table><table id=\"calendar\" cellpadding=\"0\" align=\"center\"><thead><tr><td colspan=7 align=CENTER><select id=\"month\" onChange=\"newCalendar()\" name=\"select\" class=\"smallSel\">"); for (var intLoop = 0; intLoop < months.length; intLoop++) document.write("<OPTION VALUE= " + (intLoop + 1) + " " + (today.month == intLoop ? "Selected" : "") + ">" + months[intLoop]); document.write("</select><select id=\"year\" onChange=\"newCalendar()\" name=\"select\" class=\"smallSel\">"); for (var intLoop = today.year-50; intLoop < (today.year + 5); intLoop++) document.write("<OPTION VALUE= " + intLoop + " " + (today.year == intLoop ? "Selected" : "") + ">" + intLoop); document.write("</select></td></tr><tr class=\"days\">"); document.write("<TD class=satday>" + days[0] + "</TD>"); for (var intLoop = 1; intLoop < days.length-1;intLoop++) document.write("<TD>" + days[intLoop] + "</TD>"); document.write("<TD class=sunday>" + days[intLoop] + "</TD>"); document.write(" </tr> </thead> <tbody border=1 cellspacing=\"0\" cellpadding=\"0\" id=\"dayList\" align=CENTER ONCLICK='getDate()'>"); for (var intWeeks = 0; intWeeks < 6; intWeeks++) { document.write("<TR style='cursor:hand'>"); for (var intDays = 0; intDays < days.length;intDays++) document.write("<TD></TD>"); document.write("</TR>"); } document.write("</tbody></table></div>");

document.body.onclick=HideLayer;//触发点击页面事件,关闭窗口 document.oncontextmenu=HideLayer;//触发点击页面右键,关闭窗口 } //显示css document.write("<style>TABLE {font-family:宋体,MS SONG,SimSun,tahoma,sans-serif; font-size:9pt;border:0px}.drpdwn {font-family:宋体,MS SONG,SimSun,tahoma,sans-serif;font-size:9pt;color:#000066;background-color:#FFFFFF} SELECT.smallSel{ BACKGROUND-COLOR: #ffffff; COLOR: #000080; FONT-SIZE: 9pt} .normal{BACKGROUND: #ffffff} .today {font-weight:bold;BACKGROUND: #6699cc} .satday{color:green} .sunday{color:red} .days {font-weight:bold} .Arraw {color:#0000BB; cursor:hand; font-family:Webdings; font-size:9pt}</style>"); getLayer();//显示div </script> <input type=text size=10 name=aa style=border-top:0;border-left:0;border-right:0;border-color=red readonly><a href=# onclick=selectDate(document.all.aa)>请选择</a>[/CODE]

2005-10-21 08:33
downdown
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2005-6-20
得分:0 
想找一个功能强的,都不合适!
如果它能只选择今天及以后的日期就好了。
2005-10-21 08:35
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
得分:0 
这个就挺好

你要是想选择今天以后的 不如在上面注释一下 让大家知道 然后在提交后在验证一下是不是比今天小就行了
2005-10-21 11:28
downdown
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2005-6-20
得分:0 
呵呵,我见过那样的现在找却找不到!
2005-10-21 11:36
jnzsk
Rank: 1
等 级:新手上路
威 望:1
帖 子:403
专家分:0
注 册:2004-11-13
得分:0 
不错呀!!

2005-10-21 14:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-30592-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.348775 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved