JavaServer Faces ajax控件未更新(启用/禁用)

时间:2013-02-26 19:57:09

标签: ajax jsf jsf-2 primefaces

这是我的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" />

以下是我的支持bean的相关代码:

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

我的最终目标是在选中selectBooleanCheckbox时禁用文本框。我是JSF的新手,我正在使用primefaces。

谢谢!

1 个答案:

答案 0 :(得分:0)

以下是最终工作的代码:

<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>

外卖是,事件必须是“更改”而更新必须指向目标控件的id属性。

另外,不要忘记将控件包装在表单标签中!

<h:form>...</h:form>