Bem pessoal, como não encontrei nenhum exemplo com java, decidi tentar "converter" um método que achei usando php para o java.
Queria apenas completar as cidades ao selecionar o estado, segue o código
Página já listando os estados.
<html>
<c:url value="/resources/" var="js" />
<head>
<script type="text/javascript" src="${js}/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("select[name=estado]").change(function(){
$("select[name=cidade]").html('<option value="">Carregando cidades...</option>');
$.post("completa",
{estado:$("select[name=estado]").val()},
function(valor){
$("select[name=cidade]").html(valor);
});
});
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Auto preenchimento</title>
</head>
<body>
<select name="estado" id="estado">
<option> </option>
<c:forEach var="estado" items="${dao.lista}">
<option value="${estado.id}">${estado.estado}</option>
</c:forEach>
</select>
<select name="cidade" id="cidade">
<option value="">Selecione o estado primeiro</option>
</select>
<input type="text" name="descricao"><br/><br/><hr>
<a href="cadastroEstados">Cadastre seus próprios estados</a><br /><br />
<a href="cadastroCidades">Cadastre cidades para seus estados</a>
</body>
</html>
<%@ page contentType="text/xml"%>
<%@ page import="br.com.dao.*, br.com.infra.*, br.com.teste.*, java.util.*" %>
<%
CidadesDAO dao = new CidadesDAO();
List<Cidades> lista = dao.getLista();
String e = request.getParameter("estado");
Integer estado = new Integer(Integer.parseInt(e));
for(Cidades cidade:lista){
//if(cidade.getEstado().getId() == estado){ %>
<option><%=cidade.getCidade()%></option>
<%
//}
}
%>
Quando seleciono um estado, aparece Carregando e fica em branco! Alguém tem uma ideia de por que o ajax não está retornando a lista com as cidades referentes ao estado?
Obrigado!