0

I have a popup panel (id=PanelAddQueryCriteria) define on top of jsf page but it only enable it after user select a menu item (id=entityKind) and re-render take pace for that popupPanel. However because of that re-render, select item (id=queryCriteriaAttr) inside that popup panel don't trigger change listener (#{ceaDBBean.queryCriteriaAttrChanged}) in first value change, and only trigger when select again... Any help? Here the code:

<rich:popupPanel id="PanelAddQueryCriteria">
  <h:form id="formAddQueryCriteria">
    <h:selectOneMenu id="queryCriteriaAttr" 
      value="#{ceaDBBean.queryCriteriaAttr}" required="true"
      valueChangeListener="#{ceaDBBean.queryCriteriaAttrChanged}">
      <f:selectItems value="#{ceaDBBean.ceaEntityKindAttrs}"/>
    </h:selectOneMenu>
  </h:form>
</rich:popupPanel>

<h:panelGrid id="searchPanel">
  <h:selectOneMenu id="entityKind" 
    value="#{ceaDBBean.entityKind}" required="true"
    valueChangeListener="#{ceaDBBean.entityKindChanged}">
    <a4j:ajax event="valueChange" render="addQueryCriteria" execute="@this" />
    <f:selectItems value="#{ceaDBBean.ceaEntityKinds}" />
  </h:selectOneMenu>

  <a4j:commandLink styleClass="no-decor" id="addQueryCriteria"
    render="PanelAddQueryCriteria" 
    disabled="#{empty ceaDBBean.entityKind}" 
    execute="@this" action="#{ceaDBBean.initAddQuryCriteria}"
    oncomplete="#{rich:component('PanelAddQueryCriteria')}.show()">
    <h:graphicImage id="addQueryCriteriaImg"
      value="/images/icons/common/new.gif" width="16" height="16"
      alt="#{adminMsg.addQueryCriteria}" />
      <rich:tooltip value="#{adminMsg.addQueryCriteria}" for="addQueryCriteria" />
  </a4j:commandLink>    
</h:panelGrid>
songjing
  • 535
  • 4
  • 22

1 Answers1

0

Short answer: this problem is caused by JSF issue 790. Change

render="PanelAddQueryCriteria" 

by

render="formAddQueryCriteria" 

or maybe, if you have actually more into the panel which needs to be updated than the form itself,

render="PanelAddQueryCriteria formAddQueryCriteria" 

Long answer: read following related questions:

Community
  • 1
  • 1
BalusC
  • 992,635
  • 352
  • 3,478
  • 3,452