title: The f:ajax listener method in h:selectOneMenu is not executed
body: <p>The page is generated correctly with appropriate values in managed bean, but ajax events in these two h:selectOneMenus don't works. Listener is not called. An error has to be somewhere within  tags, but I don't see it.</p>
  
  <pre><code>&lt;f:view&gt;
      &lt;h:form&gt;
          &lt;h:messages /&gt;
          &lt;h:panelGrid columns="3"&gt;
  
              &lt;h:outputLabel value="Choose your faculty: *" for="faculties" /&gt;
              &lt;h:selectOneMenu id="faculties" value="#{registrateStudent.selectedFaculty}" &gt;
                  &lt;f:ajax event="change" listener="#{registrateStudent.genSpecializations}" execute="faculties" render="specializations" /&gt;                        
                  &lt;f:selectItems value="#{registrateStudent.listFaculty}" var="curFac" itemLabel="#{curFac.name}" itemValue="#{curFac}" /&gt;
              &lt;/h:selectOneMenu&gt;
              &lt;h:message id="message_faculties" for="faculties" /&gt;
  
              &lt;h:outputLabel value="Choose your specialization: *" for="specializations" /&gt;
              &lt;h:selectOneMenu id="specializations" value="#{registrateStudent.selectedSpecialization}" &gt;
                  &lt;f:selectItems value="#{registrateStudent.listSpecialization}" var="curSpec" itemLabel="#{curSpec.name}" itemValue="#{curSpec}"/&gt;
              &lt;/h:selectOneMenu&gt;
              &lt;h:message id="message_specializations" for="specializations" /&gt;                    
  </code></pre>
  
  <p>Managed Bean:</p>
  
  <pre><code>@ManagedBean(name = "registrateStudent")
  @ViewScoped
  public class RegistrateStudent {
  
  
      private Faculty selectedFaculty;
      private List&lt;Faculty&gt; listFaculty;
      private Specialization selectedSpecialization;
      private List&lt;Specialization&gt; listSpecialization;
      private boolean showSpecialization = false;
  
  
      /** Creates a new instance of RegistrateStudent */
      public RegistrateStudent() {
          users = new Users();
          System.out.println("poaposd1");
          student = new Student();
      }
  
      @PostConstruct
      public void init() {
          listFaculty = ff.findAll();
          if (listFaculty != null) {
              selectedFaculty = listFaculty.get(0);
              listSpecialization = sf.findByFaculty(selectedFaculty.getIdFaculty());
              if (listSpecialization != null) {
                  selectedSpecialization = listSpecialization.get(0);
              }
              else {}
          } else {}
      }
  
     public void genSpecializations(AjaxBehaviorEvent event) {
          if (sf.findByFaculty(selectedFaculty.getIdFaculty()) != null) {
              this.showSpecialization = true;
          } else {
              JsfUtil.addSuccessMessage("faculties", "We don't have specializations for such faculty");
          }
      }
  }
  </code></pre>
  
  <p><strong>UPDATE:</strong></p>
  
  <p>I've found out a few interesting things:</p>
  
  <p><code>&lt;f:ajax&gt;</code> tag doesn't work at <code>&lt;h:link&gt;</code>, <code>&lt;h:selectOneMenu&gt;</code>, <code>&lt;h:button&gt;</code>, <code>&lt;h:commandButton&gt;</code>. In this cases incorrect values in <code>render</code> attribute is not noticed, but incorrect value of <code>event</code> attribute generate an error.</p>
  
  <p><code>&lt;h:outputLabel&gt;</code>, <code>&lt;h:inputText&gt;</code> work with <code>&lt;f:ajax&gt;</code> properly</p>