2012-03-01 8 views
1

毎日16:00から20:00に表示される無料のタイムスロットをfullcalendarで追加する方法を探しています。イベントで予約するように選択することができますが、JSON呼び出しを使用して取得しているイベントがあることを時間に表示することはできません。無料のタイムスロットをfullcalendar/jqueryに追加するにはどうすればよいですか?

これまでのところ、データベースから日付を取得するための呼び出しはうまくいきましたが、ユーザーがイベントをクリックして追加できるように、グレーアウトボックスを記入する方法がわかりません。ライトボックスを使用しています。

これは、これまでのコードである(ただし、JSONコールバックからの1があっても、それがイベントを作成します):

$('#calendar').fullCalendar({ 
    header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,agendaWeek,agendaDay' 
      }, 
      editable: true, 
      eventClick: function(event) {   
       var url='api.php?getclassinfo=1&class_id='+event.id; 
       $.getJSON(url,function(json){ 
        $('#class_id').val(json.id); 
        $('#class_name').val(json.name); 
        $('#class_time').val(json.time); 

        var output=''; 
        for (var i in json.day) { 
         output = output+json.day[i]+','; 
        } 

       }); 
       return false; 
    }, 
    //events: 'api.php?getdates=1&class_room='+class_room 
    eventSources: 
    [ 
    'api.php?getdates=1&class_room='+class_room, 
    MyEvents 
    ] 
}); 


function MyEvents(start,end, callback) { 
    var events = []; 
    // Setup the meeting on the this weeks "monday" 
    var meeting = new Date(start.getFullYear(), 
         start.getMonth(), 
         start.getDate(), 
         16, 00, 00); 
    meeting.setDate((meeting.getDate() - meeting.getDay()) + 1); 
    i=0; 
    while (meeting <= end) { 
    events.push({ 
     id: meeting.valueOf(), 
     title: "Free space", 
     start: newdate, 
     allDay: false, 
     backgroundColor: "#EEEEEE", 
     borderColor: "#EEEEEE", 
     textColor: "#AAAAAA" 
    }); 
    // increase by one week 
    meeting.setDate(meeting.getDate() + 1); 
    i=i+1; 
    } 
    callback(events); 
} 

答えて

0

このスレッドで答えはあなたを助けるかもしれません。あなたの質問への答えは、oppsiteと同じではありませんが、あなたの目標を達成するためにコードをわずかに微調整するだけかもしれません。

Disable timeslot ranges in jQuery fullcalendar plugin

関連する問題