转一个日期输入控件,支持FF

2019-06-02 21:09:08王旭

 this.month++;
 if (this.month == 12) {
   this.year++;
   this.month = 0;
 }
 this.date = new Date(this.year, this.month, 1);
 this.changeSelect();
 this.bindData();
}

//改变SELECT选中状态
Calendar.prototype.changeSelect = function() {
 var cy = this.form.calendarYear;
 var cm = this.form.calendarMonth;
 for (var i= 0; i < cy.length; i++){
   if (cy.options[i].value == this.date.getFullYear()){
     cy[i].selected = true;
     break;
   }
 }
 for (var i= 0; i < cm.length; i++){
   if (cm.options[i].value == this.date.getMonth()){
     cm[i].selected = true;
     break;
   }
 }
}

//更新年、月
Calendar.prototype.update = function (e){
 this.year  = e.form.calendarYear.options[e.form.calendarYear.selectedIndex].value;
 this.month = e.form.calendarMonth.options[e.form.calendarMonth.selectedIndex].value;
 this.date = new Date(this.year, this.month, 1);
 this.changeSelect();
 this.bindData();
}

//绑定数据到月视图
Calendar.prototype.bindData = function () {
 var calendar = this;
 var dateArray = this.getMonthViewArray(this.date.getYear(), this.date.getMonth());
 var tds = this.getElementById("calendarTable").getElementsByTagName("td");
 for(var i = 0; i < tds.length; i++) {
 //tds[i].style.color = calendar.colors["td_word_light"];
 tds[i].style.backgroundColor = calendar.colors["td_bg_out"];
   tds[i].onclick = function () {return;}
   tds[i].onmouseover = function () {return;}
   tds[i].onmouseout = function () {return;}
   if (i > dateArray.length - 1) break;
   tds[i].innerHTML = dateArray[i];
   if (dateArray[i] != " "){
     tds[i].onclick = function () {
       if (calendar.dateControl != null){
         calendar.dateControl.value = new Date(calendar.date.getFullYear(),
                                               calendar.date.getMonth(),