2017-07-30 45 views
0

我正在嘗試將Fullcalendar用於我的離開應用程序之一。我已啓用選擇選項,以便用戶可以選擇日期並在其上應用許可。但是我想要禁止週末進行選擇,即當用戶點擊週末時它應該發出警報。它是不可能的?在週末禁用事件創建

我的代碼

this.calendarOptions = { 
 
    height:450, 
 
    defaultDate: moment(new Date(),'YYYY-MM-DD'), 
 
    editable: false, 
 
    stick:true, 
 
    selectable:true, 
 
    eventLimit: false, // allow "more" link when too many events 
 
    events: this.eventList, 
 
    header: { 
 
     left: 'month basicWeek basicDay', 
 
     center: 'title', 
 
     right: 'today prev,next' 
 
    }, 
 
    displayEventTime: false, 
 

 
    select: (start, end, allDay) => { 
 
     this.startDate=moment(start).format("YYYY-MM-DD"); 
 
     this.endDate=moment(end).format("YYYY-MM-DD"); 
 
     $('.first.modal').modal('show'); 
 
    }, 
 
    dayRender: (date, cell)=> { 
 
    //logic 
 
    }, 
 
    selectOverlap:false, 
 
};

回答

0

你可以做到這一點的方法select。只需從startDate開始到結束日期,然後檢查這些日子中是否有周末。 如果是這樣,顯示警報/彈出並返回false。

select: (start, end, allDay) => { 
    var startDate = moment(start), 
    endDate = moment(end), 
    date = startDate.clone(), 
    isWeekend = false; 

    while (date.isBefore(endDate)) { 
     if (date.isoWeekday() == 6 || date.isoWeekday() == 7) { 
      isWeekend = true; 
     }  
     date.add(1, 'day'); 
    } 

    if (isWeekend) { 
     alert('can\'t add event - weekend'); 

     return false; 
    } 

    this.startDate= startDate.format("YYYY-MM-DD"); 
    this.endDate= endDate.format("YYYY-MM-DD"); 

    //$('.first.modal').modal('show'); 
}, 

請參閱fiddle

+0

謝謝你mate.:) –