Java Primefaces 4 commandButton oncomplete给出错误PF(…)。show不是函数
我有下面的面板,当页面加载时,它如下所示: 单击未显示的表中的用户时,面板将更新,如下所示: 然后,当我单击“添加/删除组”按钮时,我希望会出现选择列表,但我在firebug控制台中看到错误: 这里怎么了Java Primefaces 4 commandButton oncomplete给出错误PF(…)。show不是函数,java,primefaces,Java,Primefaces,我有下面的面板,当页面加载时,它如下所示: 单击未显示的表中的用户时,面板将更新,如下所示: 然后,当我单击“添加/删除组”按钮时,我希望会出现选择列表,但我在firebug控制台中看到错误: 这里怎么了 <p:panel id="userDetails" header="User Details" styleClass="panels-right" visible="#{groupBacking.currentTable == 'Users'}"> <u
<p:panel id="userDetails" header="User Details" styleClass="panels-right" visible="#{groupBacking.currentTable == 'Users'}">
<ui:fragment rendered="#{groupBacking.selectedUser != null}">
<p:commandButton value="Add/Remove Groups" styleClass="ui-priority-primary" actionListener="#{groupBacking.populateGroupPicklist}" oncomplete="PF('groupPicklistWidget').show()" />
<strong>User Id: </strong> <h:outputText value="#{groupBacking.selectedUser.ccsId}" /><br />
<strong>First Name: </strong> <h:outputText value="#{groupBacking.selectedUser.firstName}" /><br />
<strong>Last Name: </strong> <h:outputText value="#{groupBacking.selectedUser.lastName}" /><br />
<strong>Active: </strong> <h:outputText value="#{groupBacking.selectedUser.active}" /><br />
<strong>Groups: </strong>
<ui:repeat var="group" value="#{groupBacking.selectedUser.groups}">
<h:outputText value="#{group.name}" /><br />
</ui:repeat>
</ui:fragment>
<p:pickList widgetVar="groupPicklistWidget" id="groupPicklist" style="display: none;" value="#{groupBacking.picklistGroups}" var="group"
itemLabel="#{group.name}" itemValue="#{group.name}" showSourceFilter="true" showTargetFilter="true" filterMatchMode="contains">
<f:facet name="available">Available</f:facet>
<f:facet name="assigned">Assigned</f:facet>
<p:ajax event="transfer" listener="#{groupBacking.onGroupTransfer}" update=":growl" />
</p:pickList>
<ui:fragment rendered="#{groupBacking.selectedUser == null}">
<h:outputText value="Click a user to see their details" />
</ui:fragment>
</p:panel>
用户Id:
名字:
姓氏:
活动:
组:
可用
分配
Primefaces 4 commandButton oncomplete给出错误PF(…)。show不是一个函数
我的demo.xhtml如下所示
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:p="http://primefaces.org/ui">
<h:form id="demoForm">
<p:commandButton id="hiddenSaveButton" value="AddRomove"
action="display" oncomplete="duplicateCheckDialog.show()"
style="float:right;"/>
<p:dialog id="dialog" header="Account Creation"
widgetVar="duplicateCheckDialog" resizable="true"
showEffect="bounce" hideEffect="fold" dynamic="true"
appendToBody="false" >
<div style="width: 100%" align="center">
<h:panelGrid id="display" columns="1" cellpadding="4">
<div style="float: left; width: 300px;">
<p:row>
<h:outputLabel value="Account No. already exists.
Please enter new Account No" style="font-weight: bold"/>
</p:row>
<p:row>
<p:commandButton id="backButton" title="Back" action="backPage"
value="Back" update=":demoForm:dialog" />
</p:row>
</div>
</h:panelGrid>
</div>
</p:dialog>
</h:form>
</html>
注意:在上面的示例中,我已经为该命令按钮标记提供了小部件变量id。
您可以直接调用
oncomplete=“duplicateCheckDialog.show()”
。PF不是必需的我认为选择列表没有显示功能。若要显示选择列表,可以在对话框中使用。在这种情况下,oncomplete/onclick方法中的commandButton调用groupDialogWidget
。示例代码如下所示:
<p:commandButton value="Add/Remove Groups" styleClass="ui-priority-primary" actionListener="#{testManagedBean.populateGroupPicklist}" onclick="groupDialogWidget.show();"/>
只是想确定一下。对话框是否在hmtl页面中呈现?widgetVar分配是否正确?没有对话框。我只是想在点击按钮时,在按钮上的actionlistener完成后,使选择列表出现/消失。对不起,我指的是选择列表,而不是对话框。你确定你使用的是PF4而不是PF3.X?查看html页面并检查(Firebug或其他内容)是否正确分配了对picklist的widgetvar。
<p:dialog modal="true" showEffect="fade" hideEffect="fade" widgetVar="groupDialogWidget">
<p:pickList widgetVar="groupPicklistWidget" id="groupPicklist" value="#{testManagedBean.picklistGroups}" var="group"
itemLabel="#{group.name}" itemValue="#{group.name}" showSourceFilter="true" showTargetFilter="true" filterMatchMode="contains">
<f:facet name="available">Available</f:facet>
<f:facet name="assigned">Assigned</f:facet>
</p:pickList>
</p:dialog>
style= "#{testManagedBean.showPicketlist eq true ? 'display: block' : 'display: none'}"