我想将另一个selectOneMenu的selectOneMenu重置为默认值,我不能使用ajax。 第一个菜单:
<h:selectOneMenu value="#{bean.rel}" id="relSelection"
valueChangeListener="#{bean.onRelChange}" onchange="submit();"
immediate="true">
<f:selectItems value="#{bean.rel}" />
</h:selectOneMenu>
菜单我想重置:
<h:selectOneMenu value="#{bean.domSelected}" id="domSelection"
valueChangeListener="#{bean.onDomChange}" onchange="submit()"
hideNoSelectionOption="true" immediate="true" >
<f:selectItem itemValue="#{null}" itemLabel="Select..."
noSelectionOption="true" />
<f:selectItems value="#{bean.domNames}" var="item"
itemLabel="#{item}" itemValue="#{item}"/>
</h:selectOneMenu>
如果在用户选择第二个菜单后选择了第一个菜单,我想重置第二个菜单。
我希望第二个菜单在我从onReleaseChange监听器将其值设置为null后显示noSelectionOption,但它会保留所选值。
监听器:
public void onRelChange(ValueChangeEvent event) {
domSelected = null; //type String
rel = (String) event.getNewValue();
//som other stuff
}
我已经尝试了here描述的remoteCommand方法 添加这个:
<p:remoteCommand name="resetInputs" process="@this relSelection"
actionListener="#{bean.clearMenu}" immediate="true">
<p:resetInput target="domSelection" />
</p:remoteCommand>
在第一个菜单中,我通过onChange =&#34; submit();调用了remoteCommand。 resetInputs()&#34;
为什么这不起作用的任何其他想法或想法?
谢谢!
Primefaces 6.1
JSF 2.2
GlassFish 4.1.1