我想在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>
答案 0 :(得分:0)
ajax event =“change”不适用于单选按钮。
您需要的是点击事件,因为点击事件是单选按钮的默认事件,您根本不需要指定事件:
<p:ajax update="dt" oncomplete="PF('sub').show()"/>