Ir para conteúdo

POWERED BY:

Arquivado

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

cdfree

Soma de campos input

Recommended Posts

Montei este frankenstein para realizar a soma de input's, soma mas retorna tudo loco!


function soma(){

var num = 0;

$(" .valor ").each(function(){

num+=parseFloat($(this).val());


});

$("#total").val(num);

}

$().ready(function(){

$(".valor").keypress(function(){

soma();

});

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Montei este frankenstein para realizar a soma de input's, soma mas retorna tudo loco!

 

o que é tudo loco?

NaN?

 

se for, é porque ele tenta somar um número com um campo sem valor/vazio isso retorna NaN (Not A Number).

 

veja a mudança:

adicione if (isNaN($(this).val())) return;

para não somar quando for digitado algo que não seja numero.

 

e num += $(this).val() == '' ? 0 : parseFloat($(this).val());

para quando um campo estiver vazio ele ficar com o valor 0

 function soma() {
   var num = 0;
   $(".valor ").each(function() {
      if (isNaN($(this).val())) return;
      num += $(this).val() == '' ? 0 : parseFloat($(this).val());

   });
   $("#total").val(num);
 }
 $(".valor").keyup(function() {
   soma();
 });

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.