日期控件怎么设置只能选择每个季度末的最后一天

目前的代码是显示每周五和月末的?请大神帮忙改只显示每个季度末最后一天的,感谢

this._createCalendar = function(){ var o = this.options; var self = this; if (this.options.need2BuildConfig === true && this.options.data) { this.options.data.resetStatus(this.createDependencePara4Data()); var data = this.options.data.getData(); if (data[0].data) { if (data[0].data.startDate) { var sd = new Date(data[0].data.startDate); if (!FR.isInvalidDate(sd)) { o.startDate = FR.date2Str(sd, 'yyyy-MM-dd'); this.std = this._createStartDate(o.startDate, o.format, this.viewMode); } } if (data[0].data.endDate) { var ed = new Date(data[0].data.endDate); if (!FR.isInvalidDate(ed)) { o.endDate = FR.date2Str(ed, 'yyyy-MM-dd'); this.edd = this._createEndDate(o.endDate, o.format, this.viewMode); } } } this.options.rebuildConfig = false; } this.datepicker = new FR.DatePicker({ renderEl: this.$view, viewMode: this.viewMode, date: FR.str2Date(this.editComp.val(), o.format), dateFormat: o.format, startDate: this.std, endDate: this.edd, onDateUpdate:function(){ if ($(':focus').length === 0) { self.editComp.focus(); } self.editComp.val(FR.date2Str(this.getValue(), o.format)); self.isValidateInput(); self.fireEvent(FR.Events.AFTEREDIT); } }); this.datepicker._loadDateData = function (table, date) {         if (!date) {             return;         }         var year = date.getFullYear(),             month = date.getMonth(),             day = date.getDate();         var today = new Date(),             TY = today.getFullYear(),             TM = today.getMonth(),             TD = today.getDate();         this.cache.showYear = year;         this.cache.showMonth = month;         var std = this.options.startDate,             edd = this.options.endDate;         table.$title.text(Date._MN[month] + ", " + year);         var nextDay = new Date(date);         nextDay.setDate(nextDay.getMonthDays() + 1);         if ((edd && nextDay > edd) || nextDay.getFullYear() > this.CONSTS.MAXYEAR) {             table.$nextm.addClass('disabled').removeClass('hover').data('disabled', true);         } else {             table.$nextm.removeClass('disabled').data('disabled', false);         }         var prevDay = new Date(date);         prevDay.setDate(0);         if ((std && prevDay < std) || prevDay.getFullYear() < this.CONSTS.MINYEAR) {             table.$prevm.addClass('disabled').removeClass('hover').data('disabled', true);         } else {             table.$prevm.removeClass('disabled').data('disabled', false);         }         date.setDate(1);         var day1 = (date.getDay() - this.CONSTS.FIRSTDAY) % 7;         date.setDate(0 - day1);         date.setDate(date.getDate() + 1);         var $frow = table.find('tbody').children().eq(0);         for (var i = 0; i < 6; i++) {             if (!$frow.length) {                 break;             }             var $cell = $frow.children().eq(0);             $cell.addClass('week wn').text(date.getWeekNumber());             var iday;             for (var j = 0; j < 7; ++j, date.setDate(iday + 1)) {                 $cell = $cell.next();                 $cell.removeClass().data('nav', this.CONSTS.NAV['day']);                 if (!$cell.length) {                     break;                 }                 iday = date.getDate();                 $cell.text(iday);                 var current_month = (date.getMonth() == month);                 var nextdate = new Date(date);                 nextdate.setDate(iday + 1);                 var notnextmonth=(nextdate.getMonth() == month);                                  if ( !current_month || (j !=5 && notnextmonth) ) {                     $cell.addClass('oday').data('disabled',true);                     continue;                 }                 var disabled = false;                 if ((std != null && std > date) || (edd != null && edd < date)) {                     $cell.addClass('day disabled');                     disabled = true;                 } else {                     $cell.addClass('day');                 }                 $cell.data('disabled', disabled);                 if (!disabled) {                     if (current_month && iday == day) {                         this.cache.selectedDate && this.cache.selectedDate.removeClass('selected');                         $cell.addClass('selected');                         this.cache.selectedDate = $cell;                         this.cache.showDay = iday;                     }                     if (date.getFullYear() == TY &&                         date.getMonth() == TM &&                         iday == TD) {                         $cell.addClass('today');                     }                     var wday = date.getDay();                     if ([0, 6].indexOf(wday) != -1) {                         $cell.addClass("weekend");                     }                 }             }             $frow = $frow.next();         }     } if (FR.Browser.isIE8() && this.$view.css('visibility') == 'hidden') { this.$view.css("visibility", "visible"); } else { this.$view.show(); } $(document).bind('mousedown', this, this.collapseIf); this.modifyPosition(); var tr = $('tbody>tr',this.datepicker.$datetable); for( var i=0; i<tr.length; i++ ){ var $days = $('td[class!="week wn"]',tr[i]); for( var j=0; j<$days.length; j++ ){ var $day = $($days[j]); if( 5 != j && !$day.hasClass('oday')){     if(j==$days.length-1){         var $tmpdays = $('td[class!="week wn"]',tr[i+1]);         var $tmpday = $($tmpdays[0]);         if($tmpday.hasClass('oday')){             break;         }     }     else{         var $tmpday = $($days[j+1]);         if($tmpday.hasClass('oday')){             break;         }     } $day.data("disabled",true); $day.attr('class','oday'); } } } }

Treize 发布于 2021-8-12 18:42 (编辑于 2021-8-12 19:05)
1min目标场景问卷 立即参与
回答问题
悬赏:6 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-2-18 22:25

按季度查询.rar

js太麻烦了。。。。选择一种简单的方式。。如果你认为不行,那就忽略掉。。。

256.gif

最佳回答
0
snrtuemcLv8专家互助
发布于2022-2-18 19:53

建议直接使用固定下拉框好了,日期控件只能那四天,点点都麻烦

直接下拉框

03-31

06-30

09-30

12-31

然后查询时候自动拼接年份就可以。。。

或者前面加一个年份控件,两个拼接就可以

  • 4关注人数
  • 535浏览人数
  • 最后回答于:2022-2-18 22:25
    请选择关闭问题的原因
    确定 取消
    返回顶部