你的要求是什么,如果是点击某个按钮然后下拉出现,选择后消失?
用.net的日历就可以实现了啊。

解决方案 »

  1.   

    沒有,需要自己做可參考如下的例子: <Script language="JavaScript">
    function GetDate(Field) 
              {
               var url = "../DateC01/GetDate.htm";
               var ret = window.showModalDialog(url, '', "dialogHeight = 14;dialogWidth = 11;status=no;help=no;dialogLeft=" + event.screenX +";dialogTop=" + event.screenY); 
               if (typeof(ret) !="undefined") 
               { 
               var syear = ret.substr(0,4); 
               var smon = ret.substr(4,2); 
               var sday = ret.substr(6,2); 
               var sdate = syear +"/"+smon +"/" + sday; 
               var oField; 
               oField = eval("document.all('" + Field + "')"); 
               oField.value = sdate; 
               __doPostBack(Field,'');
              } 
              }

    </Script>
     button:  onclick="javascript:GetDate('txtEnddate');""../DateC01/GetDate.htm " 的HTML: 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>日期小幫手(yyyy/MM/dd)</TITLE>
    <META content="text/html; charset=big5" http-equiv="Content-Type">
    <SCRIPT language="JavaScript">
    var CurrYear, CurrMonth;function FirstRun()
    { var dt=new Date();
    CurrYear = dt.getFullYear();
    CurrMonth = dt.getMonth();
    prtMonth(CurrYear, CurrMonth);
    }function goMonth(delta)
    { var dt=new Date(CurrYear, CurrMonth, 1);
    dt.setMonth(dt.getMonth()+delta);
    CurrYear = dt.getFullYear();
    CurrMonth = dt.getMonth();
    prtMonth(CurrYear, CurrMonth);}function prtMonth(yy, mm)
    {
    var dt=new Date(yy, mm, 1);
    var day=dt.getDay();
    var m=dt.getMonth();
    var y=dt.getFullYear();
    var inner="<table border=0 cellspacing=0 cellpadding=0 ><thead style='background-color: rgb(0,0,128); color: rgb(255,255,255);font-family: verdana'><td style='background-color:#FE8072'>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td style='background-color:#9BDBAB'>六</td></thead><tr>";
    var HolidayWeekend=0;
    for (i=0; i<day; i++)
    {
    inner = inner+"<td></td>";
    } var m1 = dt.getMonth();
    while (m1==m)
    { str=dt.getDate().toString();
    str=(str.length>1)?str:"0"+str;
    if ((dt.getDay()==0)||((dt.getDay()==6)&&(HolidayWeekend==1)))
    sty="style='background-color:#FE8072'"
    else
    sty="";

    inner = inner + "<td><input type='button' "+sty+" name='currDate' size='20' value="+str+" onclick='choose("+str+")' title='"+dt.toLocaleString().slice(0,10)+"'></td>";
    if (dt.getDay()==6)
    {
    inner = inner + "</tr>";
    HolidayWeekend=(HolidayWeekend==0)?1:0;
    } dt.setDate(dt.getDate()+1); m1 = dt.getMonth(); }
    inner = inner + "</table>"; document.all("tbl").innerHTML = inner;
    document.all("currMonth").innerText=yy+"/"+(mm+1).toString();
    }function choose(thisDay)
    {
    var str="";
    var tmp="";


    str = str + CurrYear.toString();
    tmp = (CurrMonth+1).toString();
    str = (tmp.length>1)?str+tmp : str+"0"+tmp;
    tmp = thisDay.toString();
    str = (tmp.length>1)?str+tmp : str+"0"+tmp;

    window.returnValue = str;
    window.close();
    } </SCRIPT>
    <META content="MSHTML 5.00.2920.0" name="GENERATOR">
    </HEAD>
    <BODY onload="FirstRun()" bgColor="#d4d0c8">
    <center>
    <TABLE align="center" border="1" cellPadding="0" cellSpacing="0" id="MainTable">
    <TBODY>
    <TR>
    <TD><INPUT onclick="goMonth(-12)" title="往前一年" type="button" value="<<" ID="Button1" NAME="Button1"></TD>
    <TD><INPUT name="PrevMonth" onclick="goMonth(-1)" title="往前一個月" type="button" value="<" ID="Button2"></TD>
    <TD align="middle" id="currMonth" width="80" bgColor="#ffffff"><FONT face="新細明體"></FONT></TD>
    <TD><INPUT onclick="goMonth(1)" title="往後一個月" type="button" value=">" ID="Button3" NAME="Button3"></TD>
    <TD><INPUT onclick="goMonth(12)" title="往後一年" type="button" value=">>" ID="Button4" NAME="Button4"></TD>
    <TR>
    <TD colSpan="5" id="tbl" bgColor="#ffffff">.</TD>
    </TR>
    </TBODY>
    </TABLE>
    </center>
    </BODY>
    </HTML>
      

  2.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
      this.Calendar1.visible=true;
    }
    private void Calendar1_SelectionChanged(object sender, System.EventArgs e)
    {
      this.Calendar1.visible=false;
    }