1

我想<p:panel>在选择 的项目时显示<p:selectOneRadio>。它在第一次选择时工作,但在 ajax 调用之后它停止工作。

<p:selectOneRadio id="console" value="#{myBean.membre}">
    <f:selectItem itemLabel="a" itemValue="false" />
    <f:selectItem itemLabel="b" itemValue="true" />
    <p:ajax update="panel2,panel1" />
</p:selectOneRadio>
<p:panel id="panel1" visible="#{myBean.membre == false}"
    closable="true" toggleable="true">
    <ui:include src="a.xhtml" />
</p:panel>
<p:panel id="panel2" visible="#{myBean.membre == true}"
    closable="true" toggleable="true">
    <ui:include src="b.xhtml" />
</p:panel>
4

1 回答 1

0

在 PrimeFaces 4.0 上,我必须先从面板中删除可关闭的属性,然后才能切换可见性。我还添加了一个在处理表单字段时始终需要的表单。

这是我的工作解决方案:

<h:form id="testForm">
  <p:selectOneRadio id="console" value="#{myBean.membre}">
    <f:selectItem itemLabel="a" itemValue="false" />
    <f:selectItem itemLabel="b" itemValue="true" />
    <p:ajax update="panel2,panel1" />
  </p:selectOneRadio>
  <p:panel id="panel1" visible="#{not myBean.membre}" toggleable="true">
       test 111
  </p:panel>
  <p:panel id="panel2" visible="#myBean.membre}" toggleable="true">
     test 222
  </p:panel>
</h:form>

为什么可关闭属性与可见属性冲突我不知道。这可能是一个错误或计划外的组合。

于 2016-03-08T19:18:56.243 回答