其实基本就是利用js生成日历。然后利用ajax功能读取日历页面上的每天的信息。我的信息比较简单了,每天仅有一条信息或者没有,所以比较好判断了。

困难的地方是如何生成日历。

以下是我的一些心得 。

第一,先计算出当月1号是星期几。
var dt=$F("dt"); //为输入的日期
            
var dd;
            dd
=dt.split("-");
            
var today=new Date(dd[0],(dd[1]-1),dd[2]);
            
var nowdate=new Date();
            
var daystart = today.getMonth() + "/1/" + today.getYear(); //获取一号的日期
            
            
var x=daystart.split("/");
            
var dayDate = new Date(x[2],x[0],1);
            
var weekstart= dayDate.getDay()+1;//获取当前日期

第二,计算出本月一共有多少天。查了半天资料,js下面没有datediff的函数,郁闷。不过在csdn上找了一个(忘了记住那个帅哥的名字了。先谢谢了。找到了一定补上出处)。
ajax版本日历function DateDiff(datePart,startDate,endDate)
        }
需要注意的是,输入的一定都是字符型的,所以自己日期要先自己转换成为 2006-12-21 这样的格式 。
本月一号,下月一号,OK就算出来了。

第三,判断1号之前多少个空格,直接拿1号的星期去减就行了。

第四,算出来最后有多少个空格,也就是输出5行还是6行。

有一个问题没弄明白,1号如果是星期1的话,判断总是出问题,所以就把一号单独拿出来判断了
ajax版本日历var emptyWeek=weekstart-1; //1号的日期
ajax版本日历            
if(emptyWeek==0) //1号为星期一的时候出错,所以就单独来判断了
            }

ok,基本这样日历就能够生成了。
剩下的就是在循环的时候,根据一些条件,也就异步回来的XML来信息,显示到页面上去了

相关文章: