在设置开始日期后设置 primefaces 日历结束日期
Setting primefaces calendar end date after setting start date
我正在使用 primefaces 日历来创建活动。使用 "mindate" 参数我禁用了当天前几天。即使是结束日期,我也想这样做,禁用开始日期之前的几天。我不知道如何处理这个问题,因为支持 bean 只有在验证整个表单后才会获得开始日期。
我需要在输入文本字段中输入开始日期后立即设置辅助 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();
}
您可以使用 <p:ajax>
将结束日期更新为开始日期的 select。 <p:calendar>
支持 ajax 事件 dateSelect
,该事件在 selected 时触发。
所以,应该这样做:
<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}" />
我正在使用 primefaces 日历来创建活动。使用 "mindate" 参数我禁用了当天前几天。即使是结束日期,我也想这样做,禁用开始日期之前的几天。我不知道如何处理这个问题,因为支持 bean 只有在验证整个表单后才会获得开始日期。
我需要在输入文本字段中输入开始日期后立即设置辅助 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();
}
您可以使用 <p:ajax>
将结束日期更新为开始日期的 select。 <p:calendar>
支持 ajax 事件 dateSelect
,该事件在 selected 时触发。
所以,应该这样做:
<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}" />