p:对话框没有显示ajax的oncomplete属性

时间:2017-05-16 06:17:46

标签: ajax jsf primefaces

我想在ajax调用上弹出一个对话框,我已经尝试了很多方法,但我找不到解决方案。任何人都可以帮我谢谢。

下面给出了xhtml代码

<h:body>
    <h:form>
        <p:selectOneRadio style="margin-left:10px" value="#{newSubBean.selectedEvent}"
                required="true" layout="pageDirection">
            <f:selectItems value="#{newSubBean.events}" var="item"
                    itemValue="#{item.eventId}" itemLabel="#{item.title}" />
            <p:ajax event="change" update="dt" oncomplete="PF('sub').show()">
            </p:ajax>
        </p:selectOneRadio>

        <p:dialog visible="true" id="dialog" widgetVar="sub"
                header="Previous Subscriptions" showEffect="explode" hideEffect="bounce">
            <p:dataTable id="dt" style="width:800px"
                    value="#{newSubBean.subscribedEventList}" var="rows">
                <f:facet name="header">
                    <p:outputLabel value="Previous Subscriptions">
                    </p:outputLabel>
                    <br/>
                    <p:outputLabel styleClass="preformatted"
                            value="#{newSubBean.eventName}">
                    </p:outputLabel>
                </f:facet>
                <p:column headerText="Subscribed Notification">
                    <p:outputLabel value="#{rows.notificationType.title}">
                    </p:outputLabel>
                </p:column>
                <p:column headerText="Subscribed Template">
                    <p:outputLabel value="#{rows.notificationTemplateDetail.title}">
                    </p:outputLabel>
                </p:column>
                <p:column headerText="Subscription Time">
                    <p:outputLabel
                            value="#{rows.insertionTimeStamp.getTime().toLocaleString()}">
                    </p:outputLabel>
                </p:column>
            </p:dataTable>
            <p:commandButton value="Close" onclick="PF('sub').hide();">
            </p:commandButton>
        </p:dialog>
    </h:form>
</h:body>

1 个答案:

答案 0 :(得分:0)

ajax event =“change”不适用于单选按钮。

您需要的是点击事件,因为点击事件是单选按钮的默认事件,您根本不需要指定事件:

<p:ajax update="dt" oncomplete="PF('sub').show()"/>