acao Posted August 23, 2013 at 01:41 PM Report #522494 Posted August 23, 2013 at 01:41 PM 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
Baia Posted August 23, 2013 at 02:30 PM Report #522500 Posted August 23, 2013 at 02:30 PM o melhor talvez seja em ajax(jquery), assim carregas a segunda combobox sem fazer load da página novamente. Vê um exemplo aqui http://www.botecodigital.info/jquery/carregando-um-combobox-com-ajax-com-jquery/
acao Posted August 23, 2013 at 11:10 PM Author Report #522547 Posted August 23, 2013 at 11:10 PM (edited) 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 August 24, 2013 at 01:41 PM by acao
Baia Posted August 24, 2013 at 12:59 PM Report #522561 Posted August 24, 2013 at 12:59 PM No ficheiro testecombobox.php logo na primeira linha, não te está a faltar o "$"? $NomeLogin = $_GET[nomelog];
acao Posted August 24, 2013 at 01:33 PM Author Report #522563 Posted August 24, 2013 at 01:33 PM (edited) 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 August 24, 2013 at 02:01 PM by acao
Baia Posted August 24, 2013 at 05:20 PM Report #522569 Posted August 24, 2013 at 05:20 PM 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
acao Posted August 24, 2013 at 10:18 PM Author Report #522575 Posted August 24, 2013 at 10:18 PM 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now