我的视图包含以下字段:
<p:selectOneMenu style="width:40px" value="#{capacityFamilyBean.capacityFamily.bottleneck}">
<f:selectItems value="#{capacityFamilyBean.availableCapFamilyBottlenecks()}"/>
</p:selectOneMenu>
<p:inputText id="capacityFamilyName" binding="#{capacityFamilyName}" style="margin-left:20px" value="#{capacityFamilyBean.capacityFamily.name}">
<p:ajax event="change" update="newBundleButton"/>
</p:inputText>
<p:commandButton id="newBundleButton" icon="ui-icon-plus" disabled="#{empty capacityFamilyName.value}" value="${msgs.New}" oncomplete="PF('capacityFamilyDialog').show();"/>
您可以看到值属性为{capacityFamilyBean.capacityFamily.prprty}
capacityFamilyDialog
使用相同的属性,但它们未预先填充
<p:selectOneMenu value="#{capacityFamilyBean.capacityFamily.bottleneck}">
<f:selectItems value="#{capacityFamilyBean.availableCapFamilyBottlenecks()}" />
</p:selectOneMenu>
<p:inputText id="capacityFamilyName" style="margin-left:20px" value="#{capacityFamilyBean.capacityFamily.name}"/>
我假设他们引用了不同的capacityFamily对象,但我该如何反击呢?
答案 0 :(得分:0)
对话框随页面一起提供。所以它完全是空的。
oncomplete="PF('capacityFamilyDialog').show();"
是纯粹的javascript,只显示这个空的弹出窗口。如果您想要一个包含实际值的对话框,则必须在update
之类的ajax调用中commandButton
。
<p:commandButton value="${msgs.New}" update="capacityFamilyDialog_ID" oncomplete="PF('capacityFamilyDialog').show();"/>
答案 1 :(得分:0)
单击按钮时对话功能正常。我认为你应该更新对话框的ID。
JSF代码
<p:commandButton id="impBtb"
process="@this" icon="ui-icon-plus" disabled="#{empty capacityFamilyName.value}"
value="${msgs.New}" oncomplete="PF('capacityFamilyDialog').show();" update="@form:capacityFamilyDialog">
</p:commandButton>
因此,您可能必须从命令按钮执行ajax调用以更新对话框。
希望它有所帮助!!