<p:selectOneMenu id="country" value="#{empCon.selectedCountry}" required="true" onchange="PF('confirm').show()">
<f:selectItem itemLabel="-SELECT-" itemValue="NULL" noSelectionOption="true"></f:selectItem>
<f:selectItems value="#{empCon.country}"
var="a"
itemLabel="#{a}"
itemValue="#{a}"></f:selectItems>
</p:selectOneMenu> <p:confirmDialog widgetVar="confirm" appendToBody="false" message="Are you sure you want to change your selection?" header="Confim" severity="alert">
<h:form>
<p:commandButton value="Yes" process=":te:country" update=":te:province :te:messages"
actionListener="#{empCon.onSelectCountry}"
oncomplete="PF('confirm').hide()" />
<p:commandButton value="No" type="button" onclick="PF('confirm').hide()" />
</h:form>
使用此代码不会触发“onSelectCountry”actionListener。但是,如果我将进程属性的值更新为仅表单 id(":te") 它可以工作。请回答; 我只想知道根本原因。