设置开始日期后设置primefaces日历结束日期

时间:2015-01-19 19:00:39

标签: jsf-2 primefaces calendar mindate

我使用primefaces日历创建活动。随着"思想"参数我已禁用当天前几天。我希望即使使用结束日期也可以这样做,禁用开始日期之前的日期。我不知道如何处理这个问题,因为只有在整个表单验证之后,支持bean才会获得开始日期。

我需要在inputText字段输入开始日期后立即设置辅助bean。

这里是HTML:

<p:calendar immediate="true" mindate="#{createEventBean.today}" id="startingtime" value="#{createEventBean.current.startingtime}"/>

<p:calendar mindate="#{createEventBean.current.startingtime}" id="endingtime" value="#{createEventBean.current.endingtime}"/>

这是支持bean的方法:

public Date getToday(){
    return new Date();
}

1 个答案:

答案 0 :(得分:4)

您可以使用<p:ajax>更新选择开始日期的结束日期。 <p:calendar>支持在选择日期时触发的ajax事件dateSelect

所以,这应该做:

<p:calendar value="#{bean.startDate}" mindate="#{bean.today}">
    <p:ajax event="dateSelect" update="endDate" />
</p:calendar>
<p:calendar id="endDate" value="#{bean.endDate}" mindate="#{bean.startDate}" />