0

我想将 FullCalendar jQuery 插件与 JSF 一起使用。

但是如何将 f:ajax 侦听器添加到 FullCalendar 的例如 eventClick?

这是我要添加侦听器的代码:

<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>
4

1 回答 1

1

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

然而,第一种方法更容易 - 请参阅此处了解更多详细信息。

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

于 2013-05-10T13:53:00.033 回答