[ Foro de Java ]

SelectOneMenu Ayax

15-Oct-2021 21:04
Invitado (Javista_Colombia)
0 Respuestas

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.)