davidbuzatto 14 de ago. de 2012
Seu código está errado.
Tente assim:
function calcula(){
var soma = 0;
$('.soma').each(function(i){
var valor = parseInt($(this).val());
if ( !isNaN( valor ) ) {
soma += valor;
}
});
$('#valor').val(soma);
}
Live example: http://jsfiddle.net/davidbuzatto/GkWZf/
Em relação à função parseInt:
Leia aqui: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/parseInt
E aqui: http://www.diveintojavascript.com/core-javascript-reference/the-parseint-function
rebinho 19 de ago. de 2012
junaooaks:
ola pessoal
estou tentando fazer uma soma de um tabela dinamica e mostra o resultado dentro de um outro input
estou com seguinte codigo
html que chama a funcao e que e gerado automaticamente
script que executa
<script type= "text/javascript" src= "js/jquery-1.7.2.min.js" ></script>
<script type= "text/javascript" >
function calcula(){
var x = 0;
$('.soma').each(function(i){
valor = parseInt($(this).val()) + x ;
$('#valor').val();
});
}
</script>
o input que recebe a soma que esta em tabela diferente
< input name = "subtotal" type = "text" class = "effect" id = "valor" value = "" style = "color:#F00;" size = "15" maxlength = "10" / >
problema
não funciona :x
poderia me da uma dica o que fazer como fazer :?:
Brother usando uma lógica perto do que você está pensando ficaria assim:
<script type= "text/javascript" src= "js/jquery-1.7.2.min.js" ></script>
<script type= "text/javascript" >
function calcula(){
var x = 0;
$('.soma').each(function(indice, valor){ //na função each 'valor' seria o conteúdo atual doq está acessando, isso é próprio da função, ela já te dá essa opção de parâmetro
x += parseInt(valor); //aqui ele vai pegar o valor que está na posição atual, do índice que está acessando.
});
$('#valor').text(x); // ou val();
}
</script>
Cara não testei pra ser sincero hehehe… mais acho que assim funciona!
Abraço!