fullcalendar上的jsf监听器

时间:2013-05-10 13:30:49

标签: jquery jsf

我想在JSF中使用FullCalendar jQuery插件。

但是我怎样才能将f:ajax监听器添加到例如eventClick的FullCalendar?

以下是我想要添加监听器的代码:

<ui:define name="content">
    <div id="calendar">
    <f:ajax event="eventClick" listener="#{scheduleController.onDateSelect}"/>
    </div>
</ui:define>

<ui:define name="jsFiles">
    <script>
        $(document).ready(function() {

            var calendar = $('#calendar').fullCalendar({
                header : {
                    left : 'prev,next today',
                    center : 'title',
                    right : 'month,agendaWeek,agendaDay'
                },
                selectable : true,
                selectHelper : true,
                select : function(start, end, allDay) {
                    var title = prompt('Event Title:');
                    if (title) {
                        calendar.fullCalendar('renderEvent', {
                            title : title,
                            start : start,
                            end : end,
                            allDay : allDay
                        }, true // make the event "stick"
                        );
                    }
                    calendar.fullCalendar('unselect');
                },
                editable : true,
                eventClick : function(event, element) {
                    event.title = "CLICKED!";
                    $('#calendar').fullCalendar('updateEvent', event);
                }
            });

        });
    </script>
</ui:define>

1 个答案:

答案 0 :(得分:1)

我担心你不能直接做到。但是,您可以添加隐藏按钮,将ajax侦听器连接到它,然后单击javascript中的按钮。您也可以尝试使用客户端JSF API自行发送ajax。

第一种方法更容易 - 有关详细信息,请参阅here

另一种可能性是尝试a4j库使用<a4j:jsFunction>标记。