1
resposta

Value de uma option - JSP/HTML

Pessoal,

Gostaria de saber se tem como pegar o valor de uma option para ser passado em um outro método dentro da minha JSP.

Tenho dois combobox na minha página. NO primeiro estou trazendo todos os estados que tenho no banco. No segundo quero trazer todas as cidades de acordo com o estado selecionado.

No combobox de cidade, estou forçando no meu método para trazer somente de uma cidade, mas teria que trazer de acordo com o que eu selecionar no primeiro.

Segue meu código:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="dao.EstadoDao"%>
<%@ page import="model.Estado"%>
<%@ page import="dao.CidadeDao"%>
<%@ page import="model.Cidade"%>
<%@ page import="java.util.ArrayList"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Tem acesso</title>
<link href="bootstrap/bootstrap.css" rel="stylesheet" type="text/css">
<script src="jquery/jquery-3.2.1.min.js"></script>
<script src="jquery/popper.min.js"></script>
<script src="bootstrap/bootstrap.min.js"></script>

<script src="jquery/jquery.rateyo.min.js"></script>
<link rel="stylesheet" href="jquery.rateyo.css" />

<script src="jquery/jquery.magnific-popup.min.js"></script>
<link rel="stylesheet" href="magnific-popup.css" />
<link href="css/css.css" rel="stylesheet" type="text/css">
</head>
<body id="interna">
    <section id='topo'>
        <div class="container">
            <div class="row" id="rowLogado">

                <div class='col-md-7 col-sm-12'>
                    <div class="logo">
                        <div class="container-logo">
                            <a href="index.jsp"><img src="images/logo-acesso.png"
                                alt="Tem acesso"></a>
                        </div>
                    </div>
                </div>

                <div class='col-md-5 col-sm-12 pt-4'>
                    <div class="row">
                        <div class="col-12 text-right">
                            <p>
                                Bem vindo <strong>${usuario.nome}</strong>
                            </p>
                        </div>
                    </div>

                    <div class="row">
                        <div class="col-md-12 col-sm-12 mt-1 text-right">
                            <a href="altera-cadastro.jsp">Altere seu cadastro</a>
                        </div>
                        <div class="col-md-12 col-sm-12 mt-1 text-right">
                            <a href="index.html">Sair</a>
                        </div>



                    </div>
                </div>

            </div>
        </div>
    </section>

    <section id='conteudo' class="container">
        <div class="row">
            <div class="col-md-12 col-sm-12 estabelecimento mt-4">
                <h1>Cadastro de estabelecimento</h1>

                <form action="controller.do">
                    <div class="row cadastroEstabelecimento">
                        <div class="col-md-6 col-sm-12">
                            <input type="hidden" name="idUsuario" value="${usuario.id}" /> <input
                                type="hidden" name="idCidade" value="${cidade.id}" /> <label>Nome
                                do Estabelecimento</label> <input type="text" name=nomeEstabelecimento
                                placeholder="Nome do estabelecimento" />
                        </div>
                        <div class="col-md-6 col-sm-12">
                            <label>Logradouro</label> <input type="text" name="logradouro"
                                placeholder="Endereço do estabelecimento" />
                        </div>
                        <div class="col-md-6 col-sm-12">
                            <label>Numero</label> <input type="text" name="numero"
                                placeholder="Numero" />
                        </div>

                        <div class="col-md-6 col-sm-12">
                            <label>Estado</label> <select name="estado" style="width: 300px">
                                <%
                                    EstadoDao estadoDao = new EstadoDao();
                                    ArrayList<Estado> lista = estadoDao.carregar();

                                    for (Estado e : lista) {
                                %>
                                <option value=<%=e.getUf()%>><%=e.getUf()%></option>
                                <%
                                    }
                                %>
                            </select>
                        </div>

                        <div class="col-md-6 col-sm-12">
                            <label>CEP</label> <input type="text" name="cep"
                                placeholder="CEP" />
                        </div>
                        <div class="col-md-6 col-sm-12">
                            <label>Bairro</label> <input type="text" name="bairro"
                                placeholder="Bairro" />
                        </div>

                        <div class="col-md-6 col-sm-12"></div>
                        <div class="col-md-6 col-sm-12">
                            <label>Cidade</label> <select name="cidade" style="width: 300px">
                                <%
                                    CidadeDao cidadeDao = new CidadeDao();
                                    ArrayList<Cidade> listaCidade = cidadeDao.carregar("BA");

                                    for (Cidade c : listaCidade) {
                                %>
                                <option><%=c.getNome()%></option>
                                <%
                                    }
                                %>
                            </select>

                        </div>
                    </div>

                    <div class="col-md-6 col-sm-12">
                        <label>Telefone</label> <input type="tel" name="telefone"
                            placeholder="(xx)xxxx-xxxx" />
                    </div>

                    <div class="col-md-6 col-sm-12">
                        <label>Região</label> <input type="text" name="regiao"
                            placeholder="Regiao" />
                    </div>
1 resposta

Opa, você precisa de um código javascript que recarregue a página sempre que você trocar de estado. O endereço de recarregamento deve receber o id do estado, que é a option escolhida do combobox. Talvez aqui no fórum ou com uma googlada você consiga exemplos de código.