【问题标题】:jsf selectCheckboxMenu ajax listener not getting invokedjsf selectCheckboxMenu ajax监听器没有被调用
【发布时间】:2019-11-26 19:44:56
【问题描述】:

尝试的选项:-

  1. 带有 valueChangeListener 的空 f:ajax
  2. f:ajax 没有 valueChangeListener 的监听器
  3. p:ajax 有效,但没有获得选定的值

    <p:selectCheckboxMenu id="originCommittee" value="#{floorsession.selectedOriginCommittees}" label="Origin Committee" multiple="true"
			  filter="true" filterMatchMode="startsWith" panelStyle="width: 300px"
			  valueChangeListener="#{floorsession.filterOriginCommitteeHeard}">

<f:ajax execute="@form"  />
<p:ajax event="change" immediate="true" process="@this" listener="#{floorsession.filterOriginCommitteeHeard}"/>
<f:selectItems value="#{floorsession.committees}"  var="comm" itemLabel="#{comm.committeeName}" itemValue="#{comm}"/>
</p:selectCheckboxMenu>

【问题讨论】:

  • 嗨,1:它是 PrimeFaces selectOneMenu,而不是 JSF。 2:如果 3 有效,那么您的 minimal reproducible example 在哪里表明您没有获得选定的值? 3:PrimeFaces 和 jsf 实现都缺少版本信息(也缺少),干杯
  • 4: 不建议在 p: 组件中使用 f:ajax(未定义行为)

标签: primefaces


【解决方案1】:

<p:selectCheckboxMenu id="lastHeardInCommittee" value="#{floorsession.selectedLastHeardInCommittees}" label="Committee" multiple="true" 
	  filter="true" filterMatchMode="startsWith" panelStyle="width: 300px"
	  onHide="executeOnLastHeardOnHide();">
	<f:selectItems value="#{floorsession.committees}" var="comm" itemLabel="#{comm.committeeName}" itemValue="#{comm.committeeId}"/>
</p:selectCheckboxMenu>
<p:remoteCommand name='executeOnLastHeardOnHide' action="#{floorsession.filterLastHeardInResults}"/>

使用 onHide 我可以一次捕获所有选定的条目 现在我要处理选定条目的删除?

【讨论】:

    猜你喜欢
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 2015-01-02
    相关资源
    最近更新 更多