这是我的JSF页面中的一个片段:
<p:selectBooleanCheckbox value="#{FormXYZ_01.propertyNone0}">
<p:ajax event="blur" render="propertyNone0" />
</p:selectBooleanCheckbox>
<p:inputTextarea id="propertyNone0" disabled="#{FormXYZ.propertyNone0}" rows="3" styleClass="fixed400" />
以下是来自我的backingbean的相关代码:
@ManagedBean(name="FormXYZ_01")
@SessionScoped
public class FormXYZ_01 implements Serializable {
private Boolean propertyNone0;
public Boolean getPropertyNone0() {return propertyNone0;}
public void setPropertyNone0(Boolean propertyNone0) {this.propertyNone0 = propertyNone0;}
我的最终目标是在选中selectBoolean复选框时禁用文本框。我是JSF的新手,并且正在使用primefaces。
谢谢!
以下是最终工作的代码:
<h:form>
<p:selectBooleanCheckbox value="#{FormXYZ_01.propertyNone0}">
<p:ajax event="change" update="ctrlPropertyDescLoc0" />
</p:selectBooleanCheckbox>
<p:inputTextarea id="ctrlPropertyDescLoc0" disabled="#{FormXYZ_01.propertyNone0}" cols="27" rows="3" />
</h:form>
要点是,事件必须是"更改",update不得不指向目标控件的id属性。
另外,不要忘记将控件包装在表单标记中!
<h:form>...</h:form>