我用JScript做一个日历。
<script language="JSCRIPT" runat="server">// <!CDATA[
var i;
var j;
var dat = new Date();
//得到下拉列表中的值,年份
function List1_onSelected(sender : Object, e : EventArgs)
{
for(i = 0; i < DropDownList1.Items.Count; i++)
{
if(DropDownList1.Items(i).Selected)
break;
}
}
//得到月份
function List2_onSelected(sender : Object, e : EventArgs)
{
for(i = 0; i < DropDownList2.Items.Count; i++)
{
if(DropDownList2.Items(i).Selected)
break;
} var y = DropDownList1.Items(i).Text;
var m = DropDownList2.Items(i).Text;
var d = 0;
var date = new Date(y, m - 1, 1);
//根据月份,判断天数
switch(m)
{
case 2:
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
d = 29;
else
d = 28;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
d = 31;
break;
case 2:
case 4:
case 6:
case 9:
case 11:
d = 30;
break;
}
for(var k = 1; k <= d; k++)
{
//TODO:在这里将天数插入到每个TableCell中。
}
}
<script language="JSCRIPT" runat="server">// <!CDATA[
var i;
var j;
var dat = new Date();
//得到下拉列表中的值,年份
function List1_onSelected(sender : Object, e : EventArgs)
{
for(i = 0; i < DropDownList1.Items.Count; i++)
{
if(DropDownList1.Items(i).Selected)
break;
}
}
//得到月份
function List2_onSelected(sender : Object, e : EventArgs)
{
for(i = 0; i < DropDownList2.Items.Count; i++)
{
if(DropDownList2.Items(i).Selected)
break;
} var y = DropDownList1.Items(i).Text;
var m = DropDownList2.Items(i).Text;
var d = 0;
var date = new Date(y, m - 1, 1);
//根据月份,判断天数
switch(m)
{
case 2:
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
d = 29;
else
d = 28;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
d = 31;
break;
case 2:
case 4:
case 6:
case 9:
case 11:
d = 30;
break;
}
for(var k = 1; k <= d; k++)
{
//TODO:在这里将天数插入到每个TableCell中。
}
}
<body>
<form method="post" id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="List1_onSelected">
<asp:ListItem Selected="True">2005</asp:ListItem>
<asp:ListItem>2006</asp:ListItem>
<asp:ListItem>2007</asp:ListItem>
<asp:ListItem>2008</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="List2_onSelected">
<asp:ListItem Selected="True">1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
</asp:DropDownList>
<asp:Table ID="Table1" runat="server" GridLines="Both">
<asp:TableRow ID="Week" runat="server">
<asp:TableCell runat="server">周日</asp:TableCell>
<asp:TableCell runat="server">周一</asp:TableCell>
<asp:TableCell runat="server">周二</asp:TableCell>
<asp:TableCell runat="server">周三</asp:TableCell>
<asp:TableCell runat="server">周四</asp:TableCell>
<asp:TableCell runat="server">周五</asp:TableCell>
<asp:TableCell runat="server">周六</asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server" ID="FW">
</asp:TableRow>
<asp:TableRow runat="server" ID="SW">
</asp:TableRow>
<asp:TableRow runat="server" ID="TW">
</asp:TableRow>
<asp:TableRow runat="server" ID="OW">
</asp:TableRow>
</asp:Table>
</div>
</form>
</body>
</html>
问题已经解决了,后来在网上下载了一个1st Javascript Editor Pro 3.8,除了不能直接看界面还有debug有点问题之外,其他还蛮好用的。
代码如下:
var myTable;
myTable = document.getElementById("Table1");
var i = 0;
var dd = new Date(parseInt(ye), parseInt(m) - 1, 1);
var wee = dd.getDay(); var newRow = myTable.insertRow();
var newCell; var k = 1;
if(k == 1 && parseInt(wee) != 0)
{
for(var h = 0; h < wee; h ++ )
{
newCell = newRow.insertCell();
newCell.innerText = " ";
}
}
for(k = 1; k <= d; k ++ )
{
var date = new Date(parseInt(ye), parseInt(m) - 1, k);
var w = date.getDay(); newCell = newRow.insertCell();
newCell.innerText = k.toString(); if(w == 6 && k != d)
{
newRow = myTable.insertRow();
}
}
自己为自己up以下。