Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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();
});
});digito 1000+1000 Retorna 1100
Repare que tambem mudei o evento, retirei o keypress e usei o keyup()
>
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