Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) [DUVIDA]É possivel pegar valor de um select sem ter submit


Renato Luiz

Pergunta

Olá, este é meu primeiro tópico aqui, espero obter ajuda e ajudar demais usuários também.

Gostaria de saber se é possivel atribuir o valor de um select em uma variável do php sem ter um submit no form. Estou tentando fazer isso no meu código e não consigo.

arquivo principal

	
<form action="camposAcessoUsuario.php" method="post">
<table class="tabMenu" id="aTable" >
<tr class="titulo">
<td colspan="2">Parâmetros da Consulta</td>
</tr>
<tr>
<td colspan="2">
Abrangência:* <input type="radio" name="abrangencia" value="brasil" onClick="mostrarLinha(2);" checked>Brasil
<input type="radio" name="abrangencia" value="outro" onclick="esconderLinha(2);">Outros
</td>
</tr>
<tr>
<td width="50%">
Estado:*
<?php
$campos = new camposAcessoUsuario();
$campos->preenche_uf();
?>
</td>
<td>
Cidade:*
<?php
$campos->preenche_cidade();
?>
</td>
</tr>
</form>
[/codebox]

funçao do acessaCamposUsuario.php

[codebox]
public function preenche_uf()
{
$this->conexaoBanco();
$sql = "SELECT DISTINCT sigla FROM municipios_br ORDER BY sigla";
$consulta = pg_query($this->conexao, $sql);
echo("<select name=\"uf\" id=\"uf\" ");
while ($registro = pg_fetch_object($consulta))
{
if($registro->sigla != '')
{
echo("<option value=\"$registro->sigla\">$registro->sigla</option>");
}
}
echo("<option value=\"Todos\">Todos</option>");
echo("</select>");
}

gostaria de pegar o valor do select uf, para montar uma função parecida com a preenche_uf para popular o select de cidades

Editado por Renato Luiz
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

obrigado pelas respostas...

estou tentando fazer com javascript, não sei se estou no caminho certo, e se é possível fazer o que estou pensando

fiz esta função js e coloquei no onChange do select uf

function getState(what) {
    var estado = document.getElementById("uf").value;
    alert(estado);
    return estado;
}
public function preenche_uf()
    {
        $this->conexaoBanco();
        $sql = "SELECT DISTINCT sigla FROM municipios_br ORDER BY sigla";
        $consulta = pg_query($this->conexao, $sql);
        echo("<select name=\"uf\" id=\"uf\" onChange=\"getState(this);\" ");
        while ($registro = pg_fetch_object($consulta))
        {
             if($registro->sigla != '')
             {
                echo("<option value=\"$registro->sigla\">$registro->sigla</option>");
             }
        }
        echo("<option value=\"Todos\">Todos</option>");
        echo("</select>");    
    }

está exibindo os alertas certinho de acordo com o estado que é clicado...minha duvida é:

é possivel chamar essa função em uma variável php? ou algo parecido

$estado = getState("uf");

Editado por Renato Luiz
Link para o comentário
Compartilhar em outros sites

  • 0

consegui resolver

usei a biblioteca jquery

utilizei esta função no onChange do select e passei como parametro this.value

function exibeSelectCidade(estado) {
        $.ajax(
        {
            type: "POST",
                url: "camposAcessoUsuario.php",  //pagina que manda as informações
                data: "acao=exibeSelectCidade&estado=" + estado,
                beforeSend: function() {
                // enquanto a função esta sendo processada, você
                // pode exibir na tela uma
                // msg de carregando
                },
                success: function(txt) {
                // pego o id da div que envolve o select com
                // name="id_modelo" e a substituiu
                // com o texto enviado pelo php, que é um novo
                //select com dados da marca x
                $('#ajax_estado').html(txt);
                },
                error: function(txt) {
                // em caso de erro você pode dar um alert('erro');
                }
            }
        );
}

Editado por Renato Luiz
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...