I am trying to repeat the second drop down menu when I change the value in the first. But nothing happens when I click and change the value in the first drop-down list. Did I miss some important part?
My xhtml:
<h:form> <h:selectOneMenu value="#{adminBean.currentLeadCategory}" required="true" styleClass="formfield fpgeo" style="width:20em;margin-right:20px;"> <a4j:support event="onchange" action="#{adminBean.currentLeadCategoryChanged()}" reRender="componentToReRender"/> <s:selectItems value="#{leadCategories}" var="leadCategory" label="#{leadCategory.name}" noSelectionLabel="Choose Category"/> <s:convertEntity/> </h:selectOneMenu> <a4j:outputPanel id="componentToReRenderWrapper"> <h:selectOneMenu id="componentToReRender" value="#{adminBean.currentCounty}" styleClass="formfield fpgeo" style="width:20em;margin-right:20px;"> <s:selectItems value="#{adminBean.counties}" var="county" label="#{county.name}" noSelectionLabel="choose"/> <s:convertEntity/> </h:selectOneMenu> <h:messages/> </a4j:outputPanel> </h:form>
My bean:
@AutoCreate @Scope(ScopeType.CONVERSATION) @Name("adminBean") @MeasureCalls @Restrict("#{s:hasRole('admin') or s:hasRole('sales')}") public class AdminBean implements Serializable { private LeadCategory currentLeadCategory; private List<County> counties = new ArrayList<County>(); private County currentCounty; @Factory(value = "leadCategories", autoCreate = true, scope = ScopeType.SESSION) public List<LeadCategory> fetchLeadCategories() { Query query = entityManager.createQuery("select l from LeadCategory l"); return query.getResultList(); } public LeadCategory getCurrentLeadCategory() { return currentLeadCategory; } public void setCurrentLeadCategory(LeadCategory currentLeadCategory) { this.currentLeadCategory = currentLeadCategory; } public County getCurrentCounty() { return currentCounty; } public void setCurrentCounty(County currentCounty) { this.currentCounty = currentCounty; } public void currentLeadCategoryChanged() { this.loadCountiesForCategory(); } public List<County> getCounties() { return counties; } public void setCounties(List<County> counties) { this.counties = counties; } public void loadCountiesForCategory(){ if(currentLeadCategory == null){ counties = new ArrayList<County>(); } counties = new ArrayList<County>(currentLeadCategory.getCounties()); } }
EDIT 1:
If I check firebug, I get an error: Signature: 7/19/12 4:14:44 PM Error: ReferenceError: A4J not defined Source file: http://localhost:8080/admin/admin.seam?cid=11 Line: 1
jakob source share