我没有找。不过我自己正在写一个。不过有个难题。就是不记得怎样动态ADD事件。
以下是我正在想的代码
function f_mdata(){
d=new Date()
d1=d.getDay()
d1s=0
d1w=0
d2=d.getDate()
d2a=0
d2t=true
d3=d.getMonth()+1
d4=d.getYear()
maxd2=0
i=1
maxd2=/1|3|5|7|8|10|12/g.test(d3)?31:maxd2;
maxd2=/2/g.test(d3)?28:maxd2;
maxd2=/4|6|9|11/g.test(d3)?30:maxd2;
if (maxd2<30){
if ((d4%4)==0){
maxd2=29;
}
}
d2a=d2%7
switch (d2a){
case 0:d2a=1;break;
case 1:d2a=0;break;
case 2:d2a=-1;break;
case 3:d2a=-2;break;
case 4:d2a=-3;break;
case 5:d2a=-4;break;
case 6:d2a=-5;break;
}
d1s=d1-d2a
d1w=(d1s+maxd2)/7
with(document.all.datatable){
rows(1).cells(1).id="day1"
rows(1).cells(1).innerText="1"
rows(1).cells(1).v2=true
rows(1).cells(1).onClick='f_curdata(this)'

}
}
function f_curdata(obj){
v1=document.all.hiddendata1.value
if ((v1!="")&&(v1!=null)){
document.all[v1].style.backgroundColor='#ffffff';
if (document.all[v1].v2){
document.all[v1].style.color='#ff0000';
}else{
document.all[v1].style.color='#000000';
}
}
document.all.hiddendata1.value=obj.id
obj.style.backgroundColor='#006699';
obj.style.color='#ffffff';
}
function f_cdtable(){
j=0
d1c=0
v="<table id='datatable' width='210'  border='1' cellspacing='0' cellpadding='0'style='border: 1px solid #000000;font-family: 宋体;font-size: 12px;'><tr align='center' style='font-family: 宋体;font-size: 12px;font-weight: bold;color: #FFFFFF;background-color: #006699;border-top: 0px solid #000000;border-right: 0px solid #000000;border-bottom: 1px solid #000000;border-left: 0px solid #000000;'><td width='50'height='19' >日</td><td width='50'>一</td>"
v=v + "<td width='30'>二</td><td width='50'>三</td><td width='50'>四</td><td width='50'>五</td><td width='50'>六</td></tr>"
while (j<4){
v=v + "<tr align='center'>"
while (d1c<7){
// if (((d1c<d1s)&&d2t)||(i>maxd2)){
v=v + "<td width='50'  >&nbsp;</td>"
// }else{
// v=v + "<td  width='50'  id='day" + i +"' style='cursor: hand;"
// if (i==d2){v=v + " color: #FF0000;"}
// v=v + "onmouseover='document.all.hiddendata1.value=this.id'"
// v=v + "' onClick='f_curdata(this)' "
// if (i==d2){v=v + " v2=true " }
// v=v + i +" >" + i + "</td>"
// i = i + 1
// }
// if (d1c==d1s){d2t=false}
d1c=d1c+1
}
d1c=0
j=j+1
v=v + "</tr>"
}
v=v + "</table>"
document.write(v)
}f_cdtable()//建立TABLE
f_mdata()//计算日期载入TABLE

解决方案 »

  1.   

    <body>
    <script>
    function aa()
    {
    oW = window.createPopup();
    oW.document.write('<S' +  'CRIPT ID=clientEventHandlersJS>' +'function Calendar1_Click(){window.parent.datefield.value =   Calendar1.Year + "年" + Calendar1.Month + "月" + Calendar1.day + "日"}' + '</' + 'SCRIPT>' + '<S' + 'CRIPT FOR=Calendar1 EVENT=Click>' + '  Calendar1_Click()' + '<' + '/script>' + ' <OBJECT id=Calendar1 classid=clsid:8E27C92B-1264-101C-8A2F-040224009C02 VIEWASTEXT><PARAM NAME="_Version" VALUE="524288"><PARAM NAME="_ExtentX" VALUE="7620"><PARAM NAME="_ExtentY" VALUE="5080"><PARAM NAME="_StockProps" VALUE="1"><PARAM NAME="BackColor" VALUE="-2147483633"><PARAM NAME="Year" VALUE="2003"><PARAM NAME="Month" VALUE="10"><PARAM NAME="Day" VALUE="9"><PARAM NAME="DayLength" VALUE="0"><PARAM NAME="MonthLength" VALUE="0"><PARAM NAME="DayFontColor" VALUE="0"><PARAM NAME="FirstDay" VALUE="1"><PARAM NAME="GridCellEffect" VALUE="1"><PARAM NAME="GridFontColor" VALUE="10485760"><PARAM NAME="GridLinesColor" VALUE="-2147483632"><PARAM NAME="ShowDateSelectors" VALUE="-1"><PARAM NAME="ShowDays" VALUE="-1"><PARAM NAME="ShowHorizontalGrid" VALUE="-1"><PARAM NAME="ShowTitle" VALUE="-1"><PARAM NAME="ShowVerticalGrid" VALUE="-1"><PARAM NAME="TitleFontColor" VALUE="10485760"><PARAM NAME="ValueIsNull" VALUE="0"></OBJECT>');
    oW.document.body.scroll="no";
    oW.document.body.topMargin=0;
    oW.document.body.leftMargin=0;
    oW.document.body.rightMargin=0;
    oW.document.body.bottomMargin=0; oW.show(b1.offsetLeft,b1.offsetTop + 30 ,290,190,document.body);}
    </script>
    <input id=datefield type=text>
    <input id="b1" type=button onclick="aa();" value="打开日期控件">
    </body>
      

  2.   

    http://www.mooey.com/datepicker/newdtp/date_picker.htm