2015-01-21 4 views
0

Как вы превращаете белое пространство в ячейки календаря в объект, который можно щелкнуть, который направляет вас на другую страницу с параметрами ячеек (например, Date)?Как сделать дни кликибельными в fullcalendar?

Я создаю приложение для бронирования, где я хочу, чтобы пользователь мог щелкнуть день, используя FullCalendar, чтобы открыть форму бронирования, которая затем содержит дату.

Я видел несколько сообщений об использовании всплывающего окна, но это не то, что я хочу.

Это мои текущие настройки конфигурации.

function setupCalendar() { 
    var calendar_config = { 
    firstDay: 1, // Monday 
    weekMode: "liquid", 
    events: bookingEvents, // this can be a JSON feed (extra HTTP request) 
    header: headerOptions, 
    selectable: true 
    }; 
    var jq_target_div = $('#calendar'); 
    jq_target_div.fullCalendar(calendar_config); 
} 

$(document).ready(setupCalendar); 
+0

вам нужно добавить больше кода, кроме этого. Но если вы уже достигли вывода доступных ссылок, просто примените свойство «display: block» к этим ссылкам – Devin

ответ

0

Вам нужно поймать dayClickcallback.

Затем вы получите параметр даты как момент. Из дока:

дата держит момент для щелкнули день. Если на весь день была нажата , момент будет неоднозначным. Если щелкнул слот в объектах повестки дняWeek или AgendaDay, дата будет иметь время слота .

Итак, вам просто нужно открыть новую форму - как угодно: в диалоге, в модальном, в новом div ... Это будет зависеть от вашего кода.

$('#calendar').fullCalendar({ 
    dayClick: function(date, jsEvent, view) { 
     openNewForm(date); 

    } 
}); 

Чтобы уточнить ваш код, я бы добавил в свой конфигуратор fullCalendar вызов вашего метода. Итак, на основе вашей конфигурации ...

var calendar_config = { 
    firstDay: 1, // Monday 
    weekMode: "liquid", 
    events: bookingEvents, // this can be a JSON feed (extra HTTP request) 
    header: headerOptions, 
    selectable: true, 
    dayClick: openNewForm //here is where you redirect the callback 
    }; 

function openNewForm(date, jsEvent, view){ 
    openNewForm(date); 
} 
+0

Эй, Марио, это ведет меня в правильном направлении и, возможно, ответила на мой вопрос. Единственное, что я могу открыть эту новую форму (я хочу перенаправить на соответствующую страницу) – user3868832

+0

Способ открытия новой формы будет зависеть от структуры вашего приложения, чего я не знаю. Самое основное - поместить ваше значение в атрибут и отправить текущую форму. У вас есть демо: http://www.w3schools.com/tags/att_form_target.asp –