<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var dDate = new Date();
var dCurMonth = dDate.getMonth();
var dCurDayOfMonth = dDate.getDate();
var dCurYear = dDate.getFullYear();
var objPrevElement = new Object();
function fGetDaysInMonth(iMonth, iYear) {
var dPrevDate = new Date(iYear, iMonth, 0);
return dPrevDate.getDate();
}
function fBuildCal(iYear, iMonth, iDayStyle) {
var aMonth = new Array();
aMonth[0] = new Array(7);
aMonth[1] = new Array(7);
aMonth[2] = new Array(7);
aMonth[3] = new Array(7);
aMonth[4] = new Array(7);
aMonth[5] = new Array(7);
aMonth[6] = new Array(7);
var dCalDate = new Date(iYear, iMonth-1, 1);
var iDayOfFirst = dCalDate.getDay();
var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
var iVarDate = 1;
var i, d, w;
if (iDayStyle == 1) {
aMonth[0][0] = "日";
aMonth[0][1] = "一";
aMonth[0][2] = "二";
aMonth[0][3] = "三";
aMonth[0][4] = "四";
aMonth[0][5] = "五";
aMonth[0][6] = "六";

for (d = iDayOfFirst; d < 7; d++) {
aMonth[1][d] = iVarDate;
iVarDate++;
}
for (w = 2; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (iVarDate <= iDaysInMonth) {
aMonth[w][d] = iVarDate;
iVarDate++;
      }
   }
}
return aMonth;
}
function fDrawCal(iYear, iMonth) {
var myMonth;
//var sDateTextSize="10px"
///var sDateTextWeight="nomal"
myMonth = fBuildCal(iYear, iMonth, 1);
document.write("<table width='100%' border='0' cellpadding='0' cellspacing='1' bgcolor='#f5f5f5'>")
document.write("<tr class='bold12px' align='center'>");
document.write("<td width='14%' height='25'>" + myMonth[0][0] + "</td>");
document.write("<td width='14%'>" + myMonth[0][1] + "</td>");
document.write("<td width='14%'>" + myMonth[0][2] + "</td>");
document.write("<td width='14%'>" + myMonth[0][3] + "</td>");
document.write("<td width='14%'>" + myMonth[0][4] + "</td>");
document.write("<td width='14%'>" + myMonth[0][5] + "</td>");
document.write("<td>" + myMonth[0][6] + "</td>");
document.write("</tr>");
for (w = 1; w < 7; w++) {
document.write("<tr align='center' bgcolor='#FFFFFF' class='font12px'>")
for (d = 0; d < 7; d++){
document.write("<td height=25 onmouseover='this.style.backgroundColor=\"#DDDDDD\"' onmouseout='this.style.backgroundColor=\"\"' class='bold14px' id=calCell onclick=fSetSelectedDay(this)>");
if (!isNaN(myMonth[w][d])) {
document.write("<font id=calDateText onmouseover='this.style.backgroundColor=\"#DDDDDD\"' onmouseout='this.style.backgroundColor=\"\"'  onclick=fSetSelectedDay(this)><a href=dispplay.asp?date='+myMonth[w][d]+'><span class=font12px>" + myMonth[w][d] + "</span></a></font>");
} else {
document.write("<font  onmouseover='this.style.backgroundColor=\"#DDDDDD\"' onmouseout='this.style.backgroundColor=\"\"' id=calDateText onclick=fSetSelectedDay(this)>&nbsp;</font>");
}
document.write("</td>")
}
document.write("</tr>");
}
document.write("</table>")
}
function fUpdateCal(iYear, iMonth) {
myMonth = fBuildCal(iYear, iMonth);
//objPrevElement.bgColor = "";
//document.all.calSelectedDate.value = "";
for (w = 1; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (!isNaN(myMonth[w][d])) {
calDateText[((7*w)+d)-7].innerText =myMonth[w][d];
} else {
calDateText[((7*w)+d)-7].innerText = " ";
         }
      }
   }
}
// End -->
</script>
<body>
<form name="form1" method="post" action="">
<table width="100%"  border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
     <td height="35" align="center" class="font12px">
  <select name="tbSelYear" class="font12px" onchange='fUpdateCal(form1.tbSelYear.value, form1.tbSelMonth.value)'>
  <option value="2005">2005</option>
   <option value="2006">2006</option>
            <option value="2007">2007</option>
            <option value="2008" selected>2008</option>
            <option value="2009">2009</option>
            <option value="2010">2010</option>
   </select><span class="style2">年</span>
  <select name="tbSelMonth" class="font12px" onchange='fUpdateCal(form1.tbSelYear.value, form1.tbSelMonth.value)'>
  <option value="1">1</option>
   <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
   <option value="8" selected>8</option>
            <option value="9">9</option>
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
   
  </select><span class="style2">月
      </span>
    </td>
  </tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<script language="JavaScript">
var dCurDate = new Date();
fDrawCal(dCurDate.getFullYear(), dCurDate.getMonth()+1);
</script>
</td>
</tr>
</table>
</form>
大家帮我看看上面的代码,出现有问题是:
选择其它月份的时候,出现有CSS格式不一样。
还有,想根据月份的天数来判断出现的行数,现在都是7行。。