6 Replies Latest reply on Aug 19, 2009 4:25 AM by Ilya Shaikovsky

    rich:Combobx ajax support issue!

    Huang Jun Newbie

      My intenstion is when I change the first combobox, there is three choice, when I select the second some of the other component is show, then I select some other choice, the componenet will be hide.

      My UI Code

      <h:form id="quickSearchForm">
       <h:panelGrid id="quickSearchPanel" columns="9" cellpadding="1" cellspacing="0">
       <h:outputText value="Quick Search:" styleClass="gridhello" />
       <rich:comboBox width="140px" suggestionValues="#{comboboxBean.quickSelectList}"
       valueChangeListener="#{comboboxBean.selectionChanged}" enableManualInput="false" >
       <a4j:support event="onlistclose" reRender="quickSearchPanel" ajaxSingle="true"/>
       </rich:comboBox>
       <h:outputText value="Mfg Code:" rendered="#{comboboxBean.selectMan}" />
       <rich:comboBox width="120px" rendered="#{comboboxBean.selectMan}" >
       </rich:comboBox>
       <h:outputText value="Part#:" rendered="#{comboboxBean.selectMan}" />
       <h:outputText value="Cust Num:" rendered="#{comboboxBean.selectCus}" />
       <rich:comboBox width="100px" rendered="#{comboboxBean.selectCus}" >
       </rich:comboBox>
       <h:inputText value="" size="10" styleClass="id_input" />
       <h:commandButton value="Go" immediate="true" />
       </h:panelGrid>
       </h:form>
      


      My backing bean
      package com.avnet.quest.jsf.quicksearch;
      
      import java.util.ArrayList;
      import java.util.List;
      
      import javax.faces.event.ValueChangeEvent;
      
      public class QuickSearchComboboxBean {
      
       private boolean selectMan = false;
       private boolean selectCus = false;
       private int i = 0;
      
       private List<String> quickSelectList;
      
       public QuickSearchComboboxBean(){
       quickSelectList = new ArrayList<String>();
       quickSelectList.add("Quote #");
       quickSelectList.add("Manufacture Part #");
       quickSelectList.add("Customer Account #");
       }
      
       public void selectionChanged(ValueChangeEvent event){
       System.out.println(event.getNewValue());
      
       if("Manufacture Part #".equals(event.getNewValue())){
       selectMan = true;
       }else{
       selectMan = false;
       }
      
       if("Customer Account #".equals(event.getNewValue())){
       selectCus = true;
       }else{
       selectCus = false;
       }
      
       }
      
       public List<String> getQuickSelectList() {
       return quickSelectList;
       }
      
       public void setQuickSelectList(List<String> quickSelectList) {
       this.quickSelectList = quickSelectList;
       }
      
       public boolean isSelectMan() {
       return selectMan;
       }
      
       public void setSelectMan(boolean selectMan) {
       this.selectMan = selectMan;
       }
      
       public boolean isSelectCus() {
       return selectCus;
       }
      
       public void setSelectCus(boolean selectCus) {
       this.selectCus = selectCus;
       }
      
      
      }
      


      Above code is working on firefox 3.0.12, but not IE 7.
      The onlistclose will not trigger the ajax call for IE 7.

      Is this a bug in 3.3.1 GA?