Java - dwr,carga municipios de la provincia seleccionada

 
Vista:

dwr,carga municipios de la provincia seleccionada

Publicado por carguscarpe (1 intervención) el 02/11/2009 10:35:05
Hola amigos, tengo problemas con combos enlazados. Tengo un combo provincia y quería que al seleccionar la provincia me rellenara un combo con los municipios.ç
Para ello debo utilizar la librería de java dwr, que hace uso de ajax.

La jsp tiene dos combos con las provincias y los municipios. Las provincias las recojo de la bbdd.
<html:select name="clienteForm" property="provincia" styleClass="campo_select_sinWidth" onchange="cargaAyuntamientos(this);">
<html:option value="0">--</html:option>
<logic:iterate id="prov" name="clienteForm" type="es.proyecto.bo.Provincia" property="lstProvincias">
<html:option value="<%=prov.getIdProvincia()%>"><%=prov.getDesProvincia()%></html:option>
</logic:iterate>
</html:select>

El combo de municipios es igual

En el evento onchange del combo provincias llamo a la función javascript para hacer uso de la librería dwr y recoger con una consulta los ayuntamientos de esa provincia.

function cargarAyuntamientos(campo){
if ((campo.value!=null)&&(campo.value!="")){
cargarAyuntamientos(campo.value);
//me falta código para cargar el valor en el campo

}
}

Y el dwr
package es.proyecto.dwr;
import es.proyecto.manager.ClienteManager;
import es.proyecto.manager.GeograficaManager;
import java.util.ArrayList;

public class DWRValidar {

public ArrayList cargarAyuntamientos(String idProvincia)throws Exception{
ArrayList ayun=null;
GeograficaManager geo=new GeograficaManager();
ayun=geo.recuperaMunicipiosProvincia(idProvincia);
return (ayun);
}
}

Concellos es un ArrayList del bo Ayuntamientos, que tiene el idAyun y la desAyun
Como debo hacer en cargarAyuntamientos, que es una función en javascript para cargar el array de bo de Concellos en el combo poniendo en el id el idAyuntamiento y en la descripción la descripción del ayuntamiento. Puden ayudarme con la función cargarAyuntamientos para que cargue el resultado en el combo ayuntamientos?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:dwr,carga municipios de la provincia selecciona

Publicado por Pablo Donoso (1 intervención) el 15/07/2010 13:16:43
En tu JSP :

<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/engine.js"></script>
<script type='text/javascript' src='${pageContext.request.contextPath}/dwr/util.js'></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/interface/Municipio.js"></script>

<script type="text/javascript">
function obtenerMunicipios()
{
var art = dwr.util.getValue("provinciaform");

Municipio.buscaMunicipios(art, function(data)
{

dwr.util.useLoadingMessage("Cargando datos...");
dwr.util.removeAllOptions("municipioform");
dwr.util.addOptions("municipioform", [
{key:'""', value:'Seleccionar un Municipio'}
], "key", "value");
dwr.util.addOptions("municipioform", data, "desMunicipio", "desMunicipio");
});
}
</script>


<form:label path="codProvincia" for="provinciaform" cssErrorClass="error-field"></form:label>
<form:select id="provinciaform" path="codProvincia" cssErrorClass="error-field" onchange="obtenerMunicipios()">
<form:option value="0" label="-----"/>
<form:options items="${provincias}" itemValue="codProvincia" itemLabel="desProvincia"/>
</form:select>

<form:label path="desMunicipio" for="municipioform" cssErrorClass="error-field"></form:label>
<form:select id="municipioform" path="desMunicipio" cssErrorClass="error-field">
<form:option value="0" label="-----"/>
<form:options items="${municipios}" itemValue="desMunicipio" itemLabel="desMunicipio"/>
</form:select>

** En tu Action o controller tienes que llenar una lista 'provincias' y una lista 'Municipios'.
** Finalmente debes crear una clase Municipios (Municipio.buscaMunicipios(int codProvincia)) que implemente el metodo buscaMunicipios que reciba como parametros en codProvincia.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar