当前位置: 代码迷 >> ASP.NET >> 日期控件Calendar的有关问题
  详细解决方案

日期控件Calendar的有关问题

热度:5917   发布时间:2013-02-25 00:00:00.0
日期控件Calendar的问题
我在做一个查询页面需要选择 起始日期 和 截止日期 我想用 Calendar控件做。 我想在页面加载时,用下拉框形式显示。两个DropDownList(1 开始日期、2 截止日期)都显示的当天的日期。一点DropDownList就弹出Calendar点选其中一天后,Calendar消失 DropDownList显示的我点选的那个日期。

现在不会做的是
1、DropDownList怎么显示当天日期?
2、DropDownList怎么获取Calendar选中的日期?
3、如何讲DropDownList获得的日期赋给变量?




------解决方案--------------------------------------------------------
这是一个js日历,点击textbox,然后弹出这个日历
使用:
.aspx中
<script type="text/javascript" language="javascript" src="calendar.js"></script>

<asp:TextBox ID="TextBoxStartDate" onfocus="calendar()" runat="server" Height="22px"></asp:TextBox>

calendar.js
JScript code
 
var cal_Width = 180;//定义日历显示的宽度,至少140

document.write(" <div id=meizzCalendarLayer style='position: absolute; z-index: 9999; width: " + (cal_Width+4).toString() + "; height: 193; display: none'>");
document.write(" <iframe name=meizzCalendarIframe scrolling=no frameborder=0 width=100% height=100%> </iframe> </div>");
var WebCalendar = new WebCalendar();

function document.onclick()
{
  if(WebCalendar.eventSrc != window.event.srcElement) hiddenCalendar();
}

function WebCalendar() //初始化日历的设置
{
  this.regInfo  = "WEB Calendar ver 3.0&#13;关闭的快捷键:[Esc]";
 
  this.dayShow  = 38;            //定义页面上要显示的天数,不能小于35,或大于39
  this.daysMonth  = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  this.day    = new Array(this.dayShow);      //定义日历展示用的数组
  this.dayObj    = new Array(this.dayShow);      //定义日期展示控件数组
  this.dateStyle  = null;            //保存格式化后日期数组
  this.objExport  = null;            //日历回传的显示控件
  this.eventSrc  = null;            //日历显示的触发控件
  this.inputDate  = null;            //转化外的输入的日期(d/m/yyyy)
  this.thisYear  = new Date().getFullYear(); //定义年的变量的初始值
  this.thisMonth  = new Date().getMonth()+ 1; //定义月的变量的初始值
  this.thisDay  = new Date().getDate();    //定义日的变量的初始值
  this.today    = this.thisDay +"/"+ this.thisMonth +"/"+ this.thisYear;  //今天(d/m/yyyy)
  this.iframe    = window.frames("meizzCalendarIframe"); //日历的 iframe 载体
  this.calendar  = getObjectById("meizzCalendarLayer");  //日历的层
  this.dateReg  = "";      //日历格式验证的正则式

  this.yearFall  = 50;      //定义显示的年份下拉框的年差值,如果今年是2000年,这里设置为50,就显示1950-2050
  this.format    = "yyyy-mm-dd"; //回传日期的格式
  this.timeShow  = false;    //是否返回时间
  this.drag    = true;      //是否允许拖动
  this.darkColor  = "#95B7F3";  //控件的暗色
  this.lightColor = "#FFFFFF";  //控件的亮色
  this.btnBgColor = "#E6E6FA";  //控件的按钮背景色
  this.wordColor  = "#000080";  //控件的文字颜色
  this.wordDark  = "#DCDCDC";  //控件的暗文字颜色
  this.dayBgColor = "#F5F5FA";  //日期数字背景色
  this.todayColor = "#FF0000";  //今天在日历上的标示背景色
  this.DarkBorder = "#D4D0C8";  //日期显示的立体表达色
 
  this.yearOption = "";
  var yearNow = new Date().getFullYear();
  相关解决方案