1

Richfaces 4.3.1 で rich:calendar コンポーネントを無効にすることは可能ですか? rich:calendar と rich:inputText があります。要件は、ユーザーがこれらのコンポーネントのいずれかを選択できることです。たとえば、ユーザーが入力テキストにデータを入力すると、カレンダー コンポーネントが無効になります。「無効」属性で試しました。しかし、うまくいきません。ただし、Richfaces 3.3.3 では問題なく動作します。

どんな提案でも大歓迎です。ありがとう!

更新: 使用しているカレンダー コンポーネントは、手動入力とポップアップを許可する必要があります。要件は、ユーザーが入力テキストに対応するラジオ ボタンを選択したときに、カレンダー コンポーネントを無効にすることです。

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;
}
4

1 に答える 1

0

一部のコンポーネントは、再レンダリングの対象になりたくない場合があります。do<a4j:outputPanel id="panel">の代わりに入力を and で囲みrender="fromTime,toTime,studentNumber,studentName"ますrender="panel"

于 2013-06-18T12:42:17.353 に答える