Jump to content
Fórum Script Brasil
  • 0

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


Renato Luiz

Question

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

Edited by Renato Luiz
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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");

Edited by Renato Luiz
Link to comment
Share on other 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');
                }
            }
        );
}

Edited by Renato Luiz
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...