Events PrimesFaces-在onChange之后呈现panelGroup
我有一个带有两个项目的Events PrimesFaces-在onChange之后呈现panelGroup,events,primefaces,selecteditem,Events,Primefaces,Selecteditem,我有一个带有两个项目的selectOne菜单,还有一个面板组。 选择项目1时,我想显示panelGroup,选择项目2时隐藏它 我尝试使用onchange事件来完成,但我不知道如何显示/隐藏panelGroup。也许是使用panelGroup ID <p:selectOneMenu id="list" value="#{myBean.list}" onchange="???" > <f:selectItem itemLabel="Item 1" itemValue=
selectOne菜单
,还有一个面板组
。
选择项目1时,我想显示panelGroup,选择项目2时隐藏它
我尝试使用onchange
事件来完成,但我不知道如何显示/隐藏panelGroup。也许是使用panelGroup ID
<p:selectOneMenu id="list" value="#{myBean.list}" onchange="???" >
<f:selectItem itemLabel="Item 1" itemValue="Item 1" />
<f:selectItem itemLabel="Item 2" itemValue="Item 2" />
</p:selectOneMenu>
<h:panelGroup id="myPanelGroup">
...
</h:panelGroup>
...
change=“”将授予您访问EL侦听器或javascript的权限,后者没有更新组件。最好在selectOneMenu中添加一个ajax调用
e、 g
您可以使用
标记更新表单。并使用“渲染”显示/隐藏面板
请看下面的代码,它在我这边工作,而且更容易
<p:remoteCommand id="remotecommand" name="updatePanel"
update="@form"></p:remoteCommand>
<p:selectOneMenu id="list" value="#{myBean.list}" onchange="updatePanel()" >
<f:selectItem itemLabel="Item 1" itemValue="Item 1" />
<f:selectItem itemLabel="Item 2" itemValue="Item 2" />
</p:selectOneMenu>
<h:panelGroup id="myPanelGroup" rendered="#{myBean.list eq 'Item 1'}">
...
</h:panelGroup>
...
当列表的值为
项1时,此时显示面板,否则隐藏按需呈现内容是jsf中的常见做法。您还应该重新考虑使用两个选项selectOneMenu
。您必须将内容包装在panelGroup
元素中,并将内部元素设置为如下所示:
<p:selectBooleanCheckbox id="cboOverview" value="#{ctrlBean.bValue}">
<p:ajax event="change" update="outputOverviewWrapper" />
</p:inputSwitch>
<h:panelGroup id="outputOverviewWrapper">
<h:panelGroup id="toggleOverview" rendered="#{!ctrlBean.bValue}">
...
</h:panelGroup>
</h:panelGroup>
...
如果要继续使用selectOne菜单
,还应使用valueChangeListener
正确设置渲染属性
参考是。你的帖子很有用!非常感谢。
<p:remoteCommand id="remotecommand" name="updatePanel"
update="@form"></p:remoteCommand>
<p:selectOneMenu id="list" value="#{myBean.list}" onchange="updatePanel()" >
<f:selectItem itemLabel="Item 1" itemValue="Item 1" />
<f:selectItem itemLabel="Item 2" itemValue="Item 2" />
</p:selectOneMenu>
<h:panelGroup id="myPanelGroup" rendered="#{myBean.list eq 'Item 1'}">
...
</h:panelGroup>
<p:selectBooleanCheckbox id="cboOverview" value="#{ctrlBean.bValue}">
<p:ajax event="change" update="outputOverviewWrapper" />
</p:inputSwitch>
<h:panelGroup id="outputOverviewWrapper">
<h:panelGroup id="toggleOverview" rendered="#{!ctrlBean.bValue}">
...
</h:panelGroup>
</h:panelGroup>