日期控件怎么设置只能选择月初和月末

想把日期控件的设置成 只能选择每个月的第一天和最后一天。 类似这样的    现有只能选择每个星期四的JS  希望各位大神修改成 只能选择每个月的第一天和最后一天
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);
                if (!current_month || j !=4 ) {
                    $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);
                for( var j=0; j<$days.length; j++ ){
                        var $day = $($days[j]);
                        if( 4 != j && !$day.hasClass('oday')){
                                $day.data("disabled",true);
                                $day.attr('class','oday');
                        }
                }
        }
}


编辑于 2017-10-10 16:23  
FineReport孤陌 发布于 2017-10-10 15:40
悬赏:2 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共7回答
最佳回答
0
zchzch发布于2017-10-10 15:40(编辑于 2023-9-6 09:34)
555
最佳回答
0
小龙发布于2017-10-10 15:41(编辑于 2023-9-6 09:34)
555
最佳回答
0
Poseidon发布于2017-10-10 15:43(编辑于 2023-9-6 09:34)
555
  • 孤陌 孤陌(提问者) 不可以,直接是日期控件里 可以选择的日期是月初和月末
    回复
    2017-10-10 15:44 
最佳回答
0
flyingsnake发布于2017-10-10 16:32(编辑于 2023-9-6 09:34)
555
最佳回答
0
孤陌发布于2017-10-10 16:44(编辑于 2023-9-6 09:34)
555
  • 0关注人数
  • 776浏览人数
  • 最后回答于:2017-10-10 18:29
    活动推荐 更多
    热门课程 更多
    返回顶部