2016-05-12 82 views
0

我有一個h:selectOneMenu和一個p:日曆,根據所選的項目可能會被禁用。在選擇h項目後保留p:calendar日期的值:selectOneMenu

問題是:如果我先選擇項目值b,則單擊日曆以選擇與今天不同的日期,選擇項目值c,然後將日期重置爲初始值。我怎樣才能保留選定的日期?

<h:selectOneMenu value="#{mb.selectedTypeMessage}" style="min-width: 250px;"> 
     <f:selectItem id="type1" itemLabel="a" itemValue="a" /> 
     <f:selectItem id="type2" itemLabel="b" itemValue="b" /> 
     <f:selectItem id="type3" itemLabel="c" itemValue="c" /> 
     <f:ajax render="button" /> 
</h:selectOneMenu> 

<p:calendar id="button" value="#{mb.selectedIncidentDate}" disabled="#{mb.selectedTypeMessage eq a}" showOn="button"/> 


@ManagedBean(name = "mb") 
@ViewScoped 
public class MessageBean implements Serializable { 
    private String selectedTypeMessage; 
    private String selectedSector; 
    private Date selectedIncidentDate; 
    @PostConstruct 
    public void init() { 
     this.selectedIncidentDate = new Date(); 
     this.selectedTypeMessage = "a"; 
    } 
    ... 
} 

回答

0

我相信你在日曆上需要一個p:ajax。這應該更新bean上的值。

<p:calendar ...> 
    <p:ajax event="dateSelect" /> 
</p:calendar>