如何使用f:ajax更新h:panelGroup。我选择h:selectBooleanCheckbox从officeAdd1获取值并将此值设置为headOfficeAdd1.Am在bean中获取officeAdd1值但我想将值更新为headOfficeAdd1。
...谢谢
<h:form id="form">
<p:panel id="display">
<p:spacer width="20" />
<h:panelGrid columns="6">
<h:outputLabel value="Address:"
style="text-align: left;display: block;width:130px;" />
<p:inputTextarea
value="#{companyInformationBean.current.officeAdd1}"
autoResize="true" style="width:170px;" maxlength="150" />
</h:panelGrid>
<h:panelGrid columns="6">
<h:selectBooleanCheckbox id="remember"
value="#{companyInformationBean.current.checkBox}">
<f:ajax event="click" execute="@form"
listener="#{companyInformationBean.checkBoxValue}" />
</h:selectBooleanCheckbox>
<h:outputLabel value="Same as Registered Office Address"
style="text-align: left;display: block;" />
<p:spacer width="20" />
</h:panelGrid>
<p:spacer width="20" />
<h:panelGroup id="hidepanelgroup">
<h:panelGrid id="getaddress" columns="6">
<h:outputLabel value="Head Office Address:"
style="text-align: left;display: block;width:130px;" />
<p:inputTextarea id="headadd"
value="#{companyInformationBean.current.headOfficeAdd1}"
autoResize="true" style="width:170px;" maxlength="150" />
</h:panelGrid>
</h:panelGroup>
</p:panel>
</h:form>
豆:
public void checkBoxValue()
{
if(current.getCheckBox()==true)
{
logger.info("getofadd"+current.getOfficeAdd1());
current.setHeadOfficeAdd1(current.getOfficeAdd1());
}
else
{
logger.info("checkbox value false");
}
}
答案 0 :(得分:1)
您需要在<f:ajax render>
属性中指定要呈现的客户端ID。
因此,鉴于第二个textarea的ID为headadd
,这应该是:
<f:ajax ... render="headadd" />
无关,将布尔值与布尔表达式中的布尔值进行比较实际上没有任何意义。只需直接检查布尔值。
if (current.getCheckBox())
顺便说一下,尝试使用自我记录属性和方法名称。属性名称remember
会更合适。