【发布时间】:2016-07-20 09:37:25
【问题描述】:
我一直在尝试解决此问题,但无法解决。问题是我有一个带有 dateSelect 事件的日历,只要用户在弹出日历中选择一个日期,就可以触发该事件,但永远不会执行侦听器。从我的角度来看,语法是正确的。
form.xhtml 日历代码。
<p:calendar value="#{travel.departureDate}" required="true"
id="departureDate" pattern="MM/dd/yyyy HH:mm:ss"
onfocus="$('#ui-datepicker-div td').unbind();" readonly="true">
<p:ajax event="dateSelect" actionListener="#{travelControl.alterDate}"
update=":main-form:departureDate" />
</p:calendar>
一切都在一个表单和一个 panelGrid 容器中。
bean方法如下。
public void alterDate(SelectEvent event) {
System.out.println("Hour [Pre] "
+ travel.getDepartureDate().toString()); //debug
travel.setDepartureDate((Date) event.getObject());
System.out.println("Hour [Post] "
+ travel.getDepartureDate().toString()); //debug
}
选择日期后,文本字段的值会暂时更改,然后重置为 bean 中的值,因为由于事件未正确触发而未更改。
【问题讨论】:
标签: ajax jsf primefaces