当用户单击复选框时,我尝试显示/隐藏inputText。 当我使用update = @ form时,它可以工作,但是如果我提供id,它就不会
为什么?
在下面我举个例子
primefaces 5.3(已通过6.0相同的测试)
<h:form id="formId">
<p:outputPanel id="panel1" rendered="#{!param['checkb'].checked}">
<p:outputLabel value="input 1"/>
<p:inputText id="i1" value="#{employe.prenom}" />
</p:outputPanel>
<p:outputPanel id="panel2" rendered="#{param['checkb'].checked}">
<p:outputLabel value="input 2"/>
<p:inputText id="i2" value="#{employe.prenom}"/>
</p:outputPanel>
<p:selectBooleanCheckbox value="#{employe.mobileAsContact}" id="checkB">
<p:ajax update="panel1 panel2"></p:ajax>
</p:selectBooleanCheckbox>
</h:form>
答案 0 :(得分:0)
问题的解决归功于这篇文章:https://forum.primefaces.org/viewtopic.php?t=33980
使用h:panelGroup包围输入并更新此面板...已完成工作
<h:panelGroup id="panelGroupGlobal">
<p:outputPanel id="panel1" rendered="#{!employe.mobileAsContact}">
<p:outputLabel value="input 1" for="i1" />
<p:inputText id="i1" value="#{employe.prenom}" required="true"/>
</p:outputPanel>
<p:outputPanel id="panel2" rendered="#{employe.mobileAsContact}">
<p:outputLabel value="input 2" for="i2"/>
<p:inputText id="i2" value="#{employe.prenom}" />
</p:outputPanel>
</h:panelGroup>
<p:selectBooleanCheckbox value="#{employe.mobileAsContact}"
id="checkB">
<p:ajax update="formId:panelGroupGlobal"></p:ajax>
</p:selectBooleanCheckbox>