Ir para conteúdo

POWERED BY:

Arquivado

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

d1eg0.

[Resolvido] Calcular campos Dinamicos

Recommended Posts

Ola pessoal,

 

estou tendo uma pouco de dificuldade no Jquery, mas na questao de campos dinamicos multiplos.

 

Tenho um form que ira receber os produtos do cliente, este vendedor pode ir adicionando os campos conforme necessario. O script abaixo demonstra isso em html e partes em php

 

<td align="right" class="prods">Produto:</td>

                        <td align="left" class="prods" id="preco"><select id="pros" name="pros[]">
                       <option value="">Selecione...</option>
                       	<?
                           $query=$conn->query('select * from tbl_produto');
						while($est = $query->fetch(PDO::FETCH_ASSOC)){

						  	$desc=substitui($est['DESC_PRODUTO']);

							?><option value='<?=$est['COD_PRODUTO']?>'><?php echo $desc; ?></option><?
						}
						?>	

                  		</select>   Valor:  <input type="text" name="valor[]" size="10"  id="valor[]" />
                       </td>             
                    <tr></tr>

                         <td></td> <td id="listaPro"></td>

                   <tr></tr>

                       <td></td><td class="prods">
                       <input type="button" value="Adicionar" id="addCampos" />
                       <input type="button" value="Calcular" id="calcular" />
                       </td>

                   <tr></tr>

 

 

e aqui tenho meu script jquery

<script type="text/javascript">
$(document).ready(function(){
$('#fechado').change(function(){


	$('.prods').css('display','table-cell');
	$('#addCampos').click(function(){



		var linha = $('#preco').html();
		$('#listaPro').append('<tr>' + linha + '</tr>');


	});

	$('#calcular').click(function(){		

	});

});
});
</script>

 

o meu problema esta em somar os valores dentro dos campos de valor no caso o 'valor[]', alguem já passou por este problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm, a solução que eu teria seria algo meio CRAZY.

Seria o seguinte, você colocaria um contador.

Algo do tipo...

 

function contador(){

 

var count = 1;

count++;

 

}

 

E esse contador seria o ID do campo. Exemplo, o cara clickou em add. O campo novo passaria a ser CampoNovo1, depois ele click denovo, ai passa a ser CampoNovo2.

Dai o botão calcular, seria algo do tipo.

 

$('#calcular').live('click',function(){
// Aqui você vai adicionando as variaveis, de acordo com a quantidade máxima de campos que ele pode adicionar.
var id1 = $('#CampoNovo1').attr('value');
id2 = $('#CampoNovo2').attr('value');
id3 = $('#CampoNovo3').attr('value');
id4 = $('#CampoNovo4').attr('value');
// E assim vai...
// Independente do campo, se o campo estiver em branco, ele retornará 0.
soma = id1 + id2 + id3 + id4;

alert(soma);

});

 

Compreendeu? A ideia é basicamente essa. Porque para você pegar os valores dos campos, você teria que adicionar um ID a cada um, então a cada vez que você adicionar, a var Count adicionara 1, 2, 3 e assim vai, dando um ID aos campos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meio crazy, hehehehehe, cara é funcional tambem tentei isso e testei a sua, mas acabei usando um plugin pronto, se tiver interesse posso colocar ele aqui para download, mas acredito que você já conhece

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.