Jump to content
acao

[Resolvido] carregar duas combobox

Recommended Posts

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

Share this post


Link to post
Share on other 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

Edited by acao

Share this post


Link to post
Share on other sites
Baia

No ficheiro testecombobox.php logo na primeira linha, não te está a faltar o "$"?

$NomeLogin = $_GET[nomelog];

Share this post


Link to post
Share on other 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

Edited by acao

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.