Jsf &引用;onchange";不适用于PrimeFaces 3.2中的selectOneMenu
我的selectOneMenu没有触发onchange事件。代码如下:Jsf &引用;onchange";不适用于PrimeFaces 3.2中的selectOneMenu,jsf,primefaces,Jsf,Primefaces,我的selectOneMenu没有触发onchange事件。代码如下: <p:selectOneMenu id="select_preset" value="#{JobMgmtBean.presetGroupName}" valueChangeListener="#{PFJobMgmtBean.PresetGroupChangeEvent}" onchange="submit
<p:selectOneMenu id="select_preset"
value="#{JobMgmtBean.presetGroupName}"
valueChangeListener="#{PFJobMgmtBean.PresetGroupChangeEvent}"
onchange="submit();">
<f:selectItems value="#{JobMgmtBean.presetGroupList}"/>
</p:selectOneMenu>
SelectOne菜单填充得很好,我可以选择不同的值。但我希望在更改选择后,页面将被刷新,即重新创建支持bean(RequestScoped)(onchange=“submit();”)?但更改selectOneMenu中的选择时不会发生任何变化
此外,不调用值更改侦听器PresetGroupChangeEvent()
我哪里出错了
我使用的是Tomcat 7.0.25+MyFaces 2.1.6+PrimeFaces 3.2。为什么不使用p:ajax添加更新属性?我认为重新加载组件比刷新组件更好,而且您可以只重新加载所需的组件。但如果您仍想刷新页面,也可以使用javascript:
<p:selectOneMenu id="select_preset" value="#{JobMgmtBean.presetGroupName}" onchange="window.location.reload();">
<f:selectItems value="#{JobMgmtBean.presetGroupList}"/>
</p:selectOneMenu>
仅用于更新必要的组件:
<p:selectOneMenu id="select_preset" value="#{JobMgmtBean.presetGroupName}">
<f:selectItems value="#{JobMgmtBean.presetGroupList}"/>
<p:ajax event="change" update="@form" />
</p:selectOneMenu>
尝试删除
onchange="submit();"
加上
<p:ajax update="@this"/>
尝试使用primefaces中的ajax,只刷新您想要刷新的内容
<p:selectOneMenu id="select_preset"
value="#{JobMgmtBean.presetGroupName}"
valueChangeListener="#{PFJobMgmtBean.PresetGroupChangeEvent}">
<f:selectItems value="#{JobMgmtBean.presetGroupList}"/>
<p:ajax process="select_preset" partialSubmit="true" event="valueChange" update="yourComponentName"/>
</p:selectOneMenu>
现在为我更改Ajax已经太迟了。你认为onchange=“submit();
有什么不对吗?试试onchange=“this.submit();“谢谢,但是onchange=“this.submit();“
没有帮助。这onchange=“window.location.reload();“
工作正常,它会刷新页面,但我不确定这是否与submit()
相同。我仍然没有收到任何值更改侦听器事件…为什么?:-(.很抱歉,没有查看您的页面,我无法回答您的问题,但我建议只使用一个h:form(如果您没有使用它:))和属性:prependId=“false“。请检查您的逻辑,以确保它不是因为requestscope而对每个http请求进行垃圾处理。我会尝试使用第一个sessionscope或viewscope来查看页面功能。如果presetGroupList不是字符串列表,请尝试添加itemlabel和item value属性。请检查类似的问题:您是否尝试使用h:selectOneMenu?同时,我切换到Ajax,效果很好。如果以后需要,我会检查你的答案。谢谢
import javax.faces.event.ValueChangeEvent;
public void PresetGroupChangeEvent(ValueChangeEvent event) { }
<p:selectOneMenu id="select_preset"
value="#{JobMgmtBean.presetGroupName}"
valueChangeListener="#{PFJobMgmtBean.PresetGroupChangeEvent}">
<f:selectItems value="#{JobMgmtBean.presetGroupList}"/>
<p:ajax process="select_preset" partialSubmit="true" event="valueChange" update="yourComponentName"/>
</p:selectOneMenu>