2013-05-10 96 views
0

我想使用带有JSF的FullCalendar jQuery插件。fullcalendar上的jsf监听器

但是,如何添加一个f:ajax监听器到一个例如eventCalendar的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> 
+0

你如何填补它里面的事件? – Anatoly 2014-11-17 06:41:08

回答

1

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

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

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