是否可以在Richfaces 4.3.1中禁用rich:calendar组件?我有丰富的:日历和丰富的:inputText。要求是用户可以选择这些组件中的任何一个。例如,如果用户在inputtext中输入数据,则应禁用日历组件。我试过“禁用”属性。但它不起作用。但是它适用于Richfaces 3.3.3。
任何建议表示赞赏。 谢谢!
更新: 我们使用的日历组件应该允许手动输入和弹出。当用户选择与inputtext对应的单选按钮时,要求禁用日历组件。
XHTML页面:
<h:selectOneRadio name="searchCriteria" layout="pageDirection"
id="searchCriteria" value="#{searchBean.searchvalue}">
<f:selectItem itemLabel="Joining Date:" name="joinDate"
itemValue="joinDate" />
<f:selectItem itemLabel="Student #:" name="studentNbr"
itemValue="studentNbr" />
<a4j:ajax immediate="true"
render="fromTime,toTime,studentNumber,studentName"
event="click"></a4j:ajax>
</h:selectOneRadio>
<rich:calendar name="fromTime" id="fromTime" datePattern="MM/dd/yyyy"
enableManualInput="true" value="#{searchBean.fromTime}"
disabled="#{searchBean.checkType('studentNbr')}"
converterMessage="Could not be understood as Date">
<rich:placeholder value="From" />
</rich:calendar>
<rich:calendar name="toTime" id="toTime" datePattern="MM/dd/yyyy"
enableManualInput="true" value="#{searchBean.toTime}"
disabled="#{searchBean.checkType('studentNbr')}">
<rich:placeholder value="To" />
</rich:calendar>
<h:inputText value="#{searchBean.studentNumber}" name="studentNumber"
id="studentNumber" disabled="#{searchBean.checkType('joinDate')}"></h:inputText>
<h:inputText value="#{searchBean.studentName}" name="studentName"
id="studentName" disabled="#{searchBean.checkType('joinDate')}">
<rich:placeholder value="Name" />
</h:inputText>
SearchBean.java
public Boolean checkType(String searchvalue) {
Boolean tmp = this.searchvalue.equalsIgnoreCase(searchvalue);
return tmp;
}
答案 0 :(得分:0)
某些组件不喜欢成为重新渲染的目标。在输入周围加<a4j:outputPanel id="panel">
而不是render="fromTime,toTime,studentNumber,studentName"
做render="panel"
。