[ Foro de Java ]
Amigos pregunto porqué el ayax mezclado con un componente SelectOneMenu, a pesar de que carga bien los elementos, a la hora de querer capturar el valor seleccionado no lo toma.
Mi JSF tiene este código:
<h:form id="formEmpresa">
<h:outputText id="otDepartamento" value="Departamento *"/> <br></br>
<p:selectOneMenu id="soDepto"
value="#{EmpresaMBean.depto}"
required="true"
style="width:250px">
<p:ajax listener="#{EmpresaMBean.cargarCiudades()}"
event="change"
process="soDepto"
update="soCiudad"/>
<f:selectItem itemLabel="Seleccionar Departamento" itemValue="0" noSelectionOption="true"/>
<f:selectItem itemLabel="Antioquia" itemValue="2"/>
<f:selectItem itemLabel="Bogota" itemValue="5"/>
</p:selectOneMenu>
<br></br><br></br>
<h:outputText id="otCiudad" value="Ciudad *"/> <br></br>
<p:selectOneMenu id="soCiudad"
value="#{EmpresaMBean.empresa.ciudad}"
required="true"
style="width:250px">
<f:selectItem itemLabel="Seleccionar Ciudad" itemValue="0" noSelectionOption="true"/>
<f:selectItems value="#{EmpresaMBean.listaCiudades}"/>
</p:selectOneMenu>
<br></br><br></br>
<p:commandButton value="Grabar" action="#{EmpresaMBean.guardar()}"/>
</h:form>
El ayax solo tiene este código como tal está respondiendo:
<p:ajax listener="#{EmpresaMBean.cargarCiudades()}"
event="change"
process="soDepto"
update="soCiudad"/>
El bean por su parte tiene solo este código que carga unos valores desde BD:
public void cargarCiudades()
{
DAO dao = new DAO();
lista = dao.CargarCombos(1, this.depto);
int tamano = lista.size();
for(int i = 0; i < tamano; i++)
{
listaCiudades.add(new SelectItem(lista.get(i).getValue(), lista.get(i).getLabel()));
}
}
Pero por alguna razón cuando quiero imprimir el valor seleccionado en la lista de Municipios, no lo toma, que puede estar faltando ?
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)