Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

acao

[Resolvido] carregar duas combobox

Mensagens Recomendadas

acao

boas

tenho um form com 2 combobox, queria carregar a 1ª ao abrir a paginha e quando escolher um valor na primeira carregar a 2ª com os parametros da 1ª.

questões: qual o melhor metodo ou outro.

1 - (a 1ª combo tem que ser carregada em algum evento? da para fazer em php ou terá que ser em javascript ?) ou poderá ser com o apoio de uma variavel (ex: variavel = 1 faz o cod carregamento).

2- como passo os valores da 1ª combo para fazer o select com parametros o valor da 1ª combo.

ex: (select *from eventos where nome = combo1)

para depois carregar a 2ª combobox.

---- que depois terá um input para fazer uma pesquisa com mais campos.

ps: agradecia uma explicação do melhor metodo para conseguir o efeito e

se possivel algum link cod de apoio.

cumps

acao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
acao

boas

obrigado pela resposta

tentei implementar com o tutorial do link mas não consegui o resultado pretendido

aqui vai o cod.

<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.js"></script>
$(document).ready(function(){
$('#cb').change(function(){
	$('#log').load('testecombobox.php?nomelog='+$('#cb').val() );
});
});

<select name="cb" id="cb"><option selected="selected">Selecione .1.</option>
	<?php $dbDropcbo = new Conexao();
	 $stmtDrop = $dbDropcbo->prepare("SELECT * FROM cadastro");
	 $stmtDrop->execute();
	while ($rsDropcbo = $stmtDrop->fetch(PDO::FETCH_OBJ)){
				echo '<option value="'.$rsDropcbo->IdCadastro.'">'.$rsDropcbo->NomeCadastro.'</option>';  
									} ?>
</select> <!-- Closing -->
 <select name="log" id="log">
			 <option value="0">selecione o nome do login</option>

 </select>

tenho a função ajax e o php com o html num ficheiro.

e o seguinte noutro ficheiro.

/*ficheiro testecombobox.php*/
$NomeLogin = $_GET[nomelog];
$dbDroplogin = new Conexao();
$stmtDroplogin = $dbDroplogin->prepare("SELECT * FROM login where IdLogin =".$NomeLogin);
$stmtDroplogin->execute();		  
while ($rsDroplogin = $stmtDroplogin->fetch(PDO::FETCH_OBJ)){
	 echo '<option value="'.$rsDroplogin->IdLogin.'">'.$rsDroplogin->Usuario.'</option>';  
}

ps: a primeira combo carrega, falta-me a segunda.

qualquer ajuda agradeço.

cumps

acao

post corrigido

Editado por acao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
acao

boas

no ficheiro não falta, foi aqui ao postar que não coloquei.

mas já está resolvido, era o caminho do ficheiro testecombobox.php que não estava correcto + o campo do select que tinha que ser o IdLogin, após a alteração funcionou logo.

@baia obrigado pela tua dica, dica excelente.

cumps

acao

edit: pensava que estava resolvido, mas acontece que esta-me a passar o id e eu queria que fosse o texto que mostra a combo .

é possivel passar o texto que mostra a combobox ?

cumps

acao

Editado por acao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baia

ao preencheres a combo, em vez de atribuires o id à propriedade "value" podes atribuir o texto, assim ao ires buscar o valor do selecionado já te vai buscar o que quiseres

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
acao

boas

mais uma vez obrigado pelas tua dicas, não testei por já tinha resolvido quando vim aqui, mas provavelmente funciona.

resolvi, alterando o select, trocando o campo id pelo campo chave estrangeira.

resolvido

cumps

acao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.