title: selectOneMenu doesn't update with ajax
body: <p>I'm trying to update a selectOneMenu based on the change made from another selectOneMenu by using ajax.</p>
  
  <p>my <strong>xhtml</strong>:</p>
  
  <pre><code>            &lt;p:outputLabel value="Tipo:" for="tipoCombo" /&gt;
              &lt;p:selectOneMenu id="tipoCombo" value="#{equipamentoBean.tipo}" &gt;
                  &lt;f:selectItem itemLabel="Selecione" itemValue=""&gt;&lt;/f:selectItem&gt;
                  &lt;f:selectItems value="#{equipamentoBean.tipos}"&gt;&lt;/f:selectItems&gt;
                  &lt;p:ajax event="change" listener="#{equipamentoBean.listaSoftwares}" update="mainForm:softwareCombo" /&gt;
              &lt;/p:selectOneMenu&gt;
  
              &lt;p:outputLabel value="Software:" for="softwareCombo" /&gt;
              &lt;p:selectOneMenu id="softwareCombo" value="#{equipamentoBean.software}"&gt;
                  &lt;f:selectItem itemLabel="Selecione" itemValue=""&gt;&lt;/f:selectItem&gt;
                  &lt;f:selectItems value="#{equipamentoBean.softwares}"&gt;&lt;/f:selectItems&gt;
              &lt;/p:selectOneMenu&gt;
  </code></pre>
  
  <p>When i change my tipoCombo the ajax should call the method listaSoftwares on my equipamentoBean and then my softwareCombo would be populated</p>
  
  <p><strong>listaSoftware</strong></p>
  
  <pre><code>    public void listaSoftwares(){
          System.out.println("Carregando softwares");
          this.softwares = new EquipamentoSoftwareDao().listaSoftwarePorTipo(1);
          System.out.println("Carregado");
      }
  </code></pre>
  
  <p>I added the System.out.println("Carregando softwares"); to see if the method was being called, but nothing happens</p>
  
  <p>I'm following the prime showCase <a href="http://www.primefaces.org/showcase/ui/ajax/dropdown.xhtml" rel="nofollow">http://www.primefaces.org/showcase/ui/ajax/dropdown.xhtml</a></p>
  
  <p>I tried different ways, but this one seems to be the right one.</p>
  
  <p><strong>@Bean</strong></p>
  
  <pre><code>@ManagedBean
  @SessionScoped
  public class EquipamentoBean {
  
      private List&lt;Equipamento&gt; equipamentos;
      private Equipamento equipamento;
      private List&lt;Equipamento&gt; equipamentosFiltrados;    
      private List&lt;EquipamentoTipo&gt; tipos;    
      private EquipamentoTipo tipo;
      private List&lt;Regiao&gt; regioes;
      private Regiao regiao;
      private List&lt;EquipamentoSoftware&gt; softwares;
      private EquipamentoSoftware software;
  
      public EquipamentoBean(){
  
      }
  
      @PostConstruct
      public void init(){
          System.out.println("init");
          tipo = new EquipamentoTipo();
          //Pega os equipamentos no banco
          this.equipamentos = new EquipamentoDao().listaEquipamentos();
          this.tipos = new EquipamentoTipoDao().listaTipos();
          this.regioes = new RegiaoDao().listaRegioes();
  
          System.out.println("init end");
      }
  
      public void salva(ActionEvent actionEvent){
          EquipamentoDao dao = new EquipamentoDao();
          dao.salva(equipamento);
          addMessage("Equipamento Salvo!");
      }
  
      public void addMessage(String summary){
          FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, null);
          FacesContext.getCurrentInstance().addMessage(null, message);
      }
  
      public void listaSoftwares(ChangeEvent eg){
          System.out.println("Carregando softwares");
          this.softwares = new EquipamentoSoftwareDao().listaSoftwarePorTipo(1);
          System.out.println("Carregado");
      }
      public List&lt;EquipamentoTipo&gt; listarTipos(){
          this.tipos = new EquipamentoTipoDao().listaTipos();
          return tipos;
      }
  
      //GETTERS AND SETTERS
  }
  </code></pre>