Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nayara P.

Select list buscando dados do bd, e retornando valores para outro camp

Recommended Posts

Bom galera é o seguinte: Estou fazendo um sistema de orçamento de produtos ou serviços.

Na página de orçamentos, o usuário irá cadastrar alguns dados e etc, até aí tudo bem. O bixo ta pegando na hora de selecionar os produtos para o orçamento.

 

Na parte dos produtos terão alguns campos, o primeiro é um select list que busca os produtos na tabela do bd. O segundo é um campo normal onde eu queria que ao selecionar o produto, este campo fosse automaticamente preenchido pelo valor do respectivo produto selecionado que também está cadastrado na mesma tabela.

 

Só que o detalhe é que o usuário poderá inserir vários produtos. Para isso eu utilizei um script que consegui aqui mesmo no fórum, que vai inserindo dinamicamente os campos:

<!--Início script add campos -->
<script type="text/javascript">
var qtdeCampos = 0;function addCampos() {
var objPai = document.getElementById("campoPai");
//Criando o elemento DIV;
var objFilho = document.createElement("div");
//Definindo atributos ao objFilho:
objFilho.setAttribute("id","filho"+qtdeCampos);
//Inserindo o elemento no pai:
objPai.appendChild(objFilho);
//Escrevendo algo no filho recém-criado:
document.getElementById("filho"+qtdeCampos).innerHTML = 
"<select type='list' id='campo"+qtdeCampos+"' name='campo[gfd]' value='Campo com id: "+qtdeCampos+"'>
<input type='text' id='campo"+qtdeCampos+"' name='campo[]' value='Campo com id: "+qtdeCampos+"'><input type='button' onclick='removerCampo("+qtdeCampos+")' value='Apagar campo'>";qtdeCampos++;}
function removerCampo(id) {
	var objPai = document.getElementById("campoPai");
	var objFilho = document.getElementById("filho"+id);
//Removendo o DIV com id específico do nó-pai:
var removido = objPai.removeChild(objFilho);}</script>

<!--Fim Script add campos -->

E este é meu segundo problema, por se tratar de um script, não consigo fazer com que a select list, busque os produtos no banco de dados. Fora do script eu faço, mas aí não da pra adicionar novos campos com o script. Eu queria que ao clicar no botão que insere campos, inserisse select list buscando os dados do bd...

 

Por favor, ajudem essa pobre alma leiga. :(

 

Obrigada a todos.... ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... clone a linha de cima, em vez de criar novamente os elementos dela..

.innerHTML simples, te ajuda nisso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

? tipo.. 'se fizer certo, vai funcionar'.

 

mostra como você tentou fazer, e como tentou juntar os 2 scripts.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim:

<!--Início script add campos -->
<script type="text/javascript">
var qtdeCampos = 0;function addCampos() {
var objPai = document.getElementById("campoPai");
//Criando o elemento DIV;
var objFilho = document.createElement("div");
//Definindo atributos ao objFilho:
objFilho.setAttribute("id","filho"+qtdeCampos);
//Inserindo o elemento no pai:
objPai.appendChild(objFilho);
//Escrevendo algo no filho recém-criado:
document.getElementById("filho"+qtdeCampos).innerHTML = 
"<select type='list' id='campo"+qtdeCampos+"' name='campo[gfd]' value='Campo com id: "+qtdeCampos+"' <?php do {  ?>
            <option value="<?php echo $row_selPro['pro_descr']?>"><?php echo $row_selPro['pro_descr']?></option>
            <?php
} while ($row_selPro = mysql_fetch_assoc($selPro));
  $rows = mysql_num_rows($selPro);
  if($rows > 0) {
      mysql_data_seek($selPro, 0);
	  $row_selPro = mysql_fetch_assoc($selPro);
  }
?>
><input type='text' id='campo"+qtdeCampos+"' name='campo[]' value='Campo com id: "+qtdeCampos+"'><input type='button' onclick='removerCampo("+qtdeCampos+")' value='Apagar campo'>";qtdeCampos++;}
function removerCampo(id) {
	var objPai = document.getElementById("campoPai");
	var objFilho = document.getElementById("filho"+id);
//Removendo o DIV com id específico do nó-pai:
var removido = objPai.removeChild(objFilho);}</script>

<!--Fim Script add campos -->

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.