写个东西没写出来

wtcsy 2008-10-26 10:40:39
看到有人要年,月,日的联动菜单
于是想写一个
结果没写出来,并出现的了我无法理解的问题.
同样是一个对象的方法  一个可以alert出属性  一个却alert出来的是null.....  - -!
问题所在的地方代码中有说明
我想知道怎么去理解这个东西  请大虾们指教下  
<script>
function Calendar(startyear,endyear){
this.year = new Array()
var j=0
for(var i = startyear;i<=endyear;i++)
{this.year[j]=i;
j++}

this.month=[1,2,3,4,5,6,7,8,9,10,11,12]

this.day=[[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]]
}
Calendar.prototype.Createselect=function(){
var sele1 = document.createElement("select")
sele1.id="year"
document.body.appendChild(sele1)
var sele2 = document.createElement("select")
sele2.id="month"
document.body.appendChild(sele2)
var sele3 = document.createElement("select")
sele3.id="day"
document.body.appendChild(sele3)
this.Isyear(this.year[0])
this.Initialization()
this.addmonth()
}

Calendar.prototype.Initialization=function(){
for(var i= 0;i<this.year.length;i++)
{document.getElementById("year").options.add(new Option(this.year[i],i))}
for(var i= 0;i<this.month.length;i++)
{document.getElementById("month").options.add(new Option(this.month[i],i))}
for(var i= 0;i<this.day[1].length;i++)
{document.getElementById("day").options.add(new Option(this.day[1][i],i))}
alert(this.day[1]) // 这里出来的是那个数组的东西。。
}

Calendar.prototype.Isyear = function(year){
if (0==year%4&&((year%100!=0)||(year%400==0)))
{this.day[1]=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]}
else
{this.day[1]=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]}
}

Calendar.prototype.addyear = function(year){
var obj = document.getElementsById("year")
obj.attachEvent("onchange",this.changeyear)
}

Calendar.prototype.addmonth = function(year){
var obj = document.getElementById("month")
obj.attachEvent("onchange",this.changemonth)
}

Calendar.prototype.changemonth = function(){
document.getElementById("day").length=0
var nowday = this.day[event.srcElement.value]
alert(this.day[1]) // 这里alert出来的是 null
}


window.onload=function(){
var c = new Calendar(2007,2009)
c.Createselect()
}

</script>
...全文
49 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wtcsy 2008-10-26
  • 打赏
  • 举报
回复
明明选的50分
怎么变0分了 .... - -!
只好明天加到50分

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧