我在重置p:selectOneMenu時遇到問題。在我的facelet中,我有兩個p:selectOneMenu項。我的要求是,如果用戶從第一個p:selectOneMenu中選擇了某些內容,則第二個p:selectOneMenu應該自行重置,反之亦然。p:selectOneMenu重置不起作用
下面是我使用的代碼:
<p:outputLabel for="country" value="Country:" />
<p:selectOneMenu id="country" effect="none"
value="#{infoBean.infoDataHolder.selectedCountry}">
<f:selectItem itemLabel="Select One" itemValue=""
noSelectionOption="true" />
<f:selectItems
value="#{infoBean.infoDataHolder.availableCountries}"
var="aCountry" itemLabel="#{aCountry.description}"
itemValue="#{aCountry.description}" />
<p:ajax update="state"
listener="#{infoBean.resetState()}" />
</p:selectOneMenu>
<p:outputLabel for="state" value="State:" />
<p:selectOneMenu id="state" effect="none"
value="#{infoBean.infoDataHolder.selectedState}">
<f:selectItem itemLabel="Select One" itemValue=""
noSelectionOption="true" />
<f:selectItems
value="#{infoBean.infoDataHolder.availableStates}"
var="aState" itemLabel="#{aState}"
itemValue="#{aState}" />
<p:ajax update="country"
listener="#{infoBean.resetCountry()}" />
</p:selectOneMenu>
我支持bean InfoBean是RequestScope和infoDataHolder在查看範圍。 在infoBean.resetCountry()/ infoBean.resetState()中,我將infoBean.infoDataHolder.selectedCountry/infoBean.infoDataHolder.selectedState設置爲null。
現在發生的事情是,當我選擇國家時,國家p:selectOneMenu正在重新設置。但選擇國家,州p:selectOneMenu沒有得到重置。 你能幫我在這裏嗎。謝謝。