2010-08-19 19 views
5

ai đó có thể cho tôi biết cách điền các sự kiện "jquery fullcalendar" bằng ajax.không thể đặt dữ liệu động trong jquery fullcalendar thông qua ajax

Không có phương thức setter được cung cấp trong fullcalendar để đặt phản hồi ajax (là đối tượng Json) sau khi tải đối tượng lịch. Có cách nào để nạp dữ liệu sau khi tải đối tượng lịch không?

Trong trường hợp của tôi, lần đầu tiên tôi cung cấp dữ liệu trong thuộc tính "sự kiện:" đầy đủ và nó hoạt động tốt. Nhưng khi tôi bấm tiếp theo hoặc trước đó để chuyển đổi một tháng khác, tôi không thể nạp dữ liệu vào đó.

Thnx trước

Trả lời

1

trong ASP.NET MVC Xem:

$('#calendar').fullCalendar({ 
      theme: true, 
      header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,agendaWeek,agendaDay' 
      }, 
      events: "/Calendar/GetEvents/"}); 

Contoller:

public JsonResult GetEvents() 
    { 
     List<DAL.VwMeeting> allMeeting = meetingRepository.GetAll(); 
     var eventList = from e in allMeeting 
         select new 
         { 
          url=(e.MeetingOccurID).ToString(), 
          title = e.MeetingTitle, 
          start = ConvertToUnixTimestamp((DateTime)e.MeetingOccurStartDate), 
          end = ConvertToUnixTimestamp((DateTime)e.MeetingOccurEndTime), 
          allDay = false 
         }; 
     return Json(eventList.ToArray()); 
    } 

hoặc bạn có thể sử dụng:

$('#calendar').fullCalendar('refetchEvents'); 

sau mỗi sự kiện xử lý

+0

Xin vui lòng cho tôi ví dụ về phản ứng json những gì tôi nên giữ trong đầu :, kết thúc:, và tôi đoán tiêu đề sẽ được chuỗi đồng bằng. Tôi đã sử dụng cùng một phương pháp những gì bạn đề nghị nhưng fullcalendar không hiển thị bất cứ điều gì trên bất kỳ chế độ xem nào. Tôi đang sử dụng JSP và servlet trên máy chủ kết thúc. Cảm ơn – Bhupi

+0

Xin lỗi Bhupi, tôi là nhà phát triển .NET, bạn có thể xem hướng dẫn này http://weblogs.asp.net/gunnarpeipman/archive/2010/02/03/using-fullcalendar-jquery-component-with-asp- net-mvc.aspx, http: //szahariev.blogspot.com/2009/08/jquery-fullcalendar-and-aspnet-mvc.html hoặc bạn có thể xem Fullcalendar: http://arshaw.com/js/fullcalendar/ example/agenda-views.html – Akyegane

1

Thay vì lấy các sự kiện của Ajax và sau đó đặt chúng trong lịch, bạn có thể sử dụng fullcalendar để làm tất cả các Ajax cho bạn:

$('#calendar').fullCalendar({ 
    events: "/myfeed.php" 
}); 

Sau đó đúng các sự kiện sẽ được tìm nạp theo phạm vi ngày người dùng đang xem. Xem fullcalendar documentation để biết thêm thông tin.

+0

Cảm ơn theycallmemorty, nhưng tôi không thể tải tất cả dữ liệu cùng một lúc trong khi đối tượng lịch tải. Tôi cần phải nạp lại dữ liệu cho mỗi tháng hoặc tuần bất cứ khi nào người dùng nhấp vào nút "tiếp theo" hoặc "trước" hoặc thay đổi chế độ xem. – Bhupi

+1

Điều khiển fullcalendar sẽ xử lý điều đó cho bạn dưới dạng tham số 'start' và' end'. Mỗi lần người dùng thay đổi lượt xem hoặc nhấp chuột trước hoặc tiếp theo điều khiển sẽ gửi yêu cầu đến máy chủ của bạn. – theycallmemorty

+0

bạn có thể đưa ra một số ví dụ về phản ứng phụ của máy chủ khi url trên sẽ kích hoạt không? Cảm ơn – Bhupi

Các vấn đề liên quan