Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro Lucas

somar e subtrair

Recommended Posts

estou fazendo uma tabela dinamica onde preciso somar quando seleciono o checkbox e multiplicar pela quantidade que ele colocou. Está parte está feita e funcionando. Porém quando desmarcar o checkbox está dando erro, ou aparece valor errado ou fica negativo ou zerado.

 

código;

function soma_valores(campo)
{
if(campo.checked)
{
//aqui funciona
}else{
//problema aqui
$("input[type=text][name^=qtd]").click(function(){
if($(this).val() != ''){
var qtd = $(this).val() * campo.getAttribute("val1");
var qtd2 = $(this).val() * campo.getAttribute("val2");
var qtd3 = $(this).val() * campo.getAttribute("val3");
var qtd4 = $(this).val() * campo.getAttribute("val4");
var qtd5 = $(this).val() * campo.getAttribute("val6");
var qtd7 = $(this).val() * campo.getAttribute("val7");
var valor_anterior1 = document.getElementById("valorBr").value;
var valor_novo1 = valor_anterior1 - qtd;
document.getElementById("valorBr").value = valor_novo1.toFixed(2);
var valor_anterior2 = document.getElementById("desconto").value;
var valor_novo2 = qtd2;
document.getElementById("desconto").value = valor_novo2.toFixed(2);
var valor_anterior3 = document.getElementById("maoobra").value;
var valor_novo3 = qtd3;
document.getElementById("maoobra").value = valor_novo3.toFixed(2);
var valor_anterior8 = document.getElementById("soma").value;
var valor_novo6 = valor_novo1 - valor_novo2 - valor_novo3;
document.getElementById("soma").value = valor_novo6.toFixed(2);
}
});
}
}
<input type='checkbox' name='prod[]' val='nome' val1='20' val2='0' val3='10' value='id_dele' onclick='soma_valores(this);'/>
<input type='text' class='valore' id='qtd' name='qtd[id]' onclick='soma_valores(this);'/>

 

Alguém pode dar uma ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o resto do seu formulário (de preferencia usando a formatação de código) pra eu poder testar aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a principal parte eu postei, os input estão em uma tabela que é gerada com consulta no banco ao clicar ele chama a função onclick='soma_valores(this);

 

ao desmarcar ele não funciona :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consigo testar porque os campos referenciados nessa parte não existem.

 

var valor_anterior1 = document.getElementById("valorBr").value;
var valor_novo1 = valor_anterior1 - qtd;
document.getElementById("valorBr").value = valor_novo1.toFixed(2);


var valor_anterior2 = document.getElementById("desconto").value;
var valor_novo2 = qtd2;
document.getElementById("desconto").value = valor_novo2.toFixed(2);


var valor_anterior3 = document.getElementById("maoobra").value;
var valor_novo3 = qtd3;
document.getElementById("maoobra").value = valor_novo3.toFixed(2);


var valor_anterior8 = document.getElementById("soma").value;
var valor_novo6 = valor_novo1 - valor_novo2 - valor_novo3;
document.getElementById("soma").value = valor_novo6.toFixed(2);

 

 

valorBr, desconto, soma, etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<label for='valorBr'>Valor Bruto:</label>

<input type="text" name="valorBr" onkeyup="somar();" id="valorBr" value="0.0"/>

 

<label for='maoobra'>Valor Mão de Obra:</label>

<input type="text" name="maoobra" onkeyup="somar();" id="maoobra" value="0.0"/>

 

 

<label for='desconto'>Descontos:</label>

 

<input type="text" name="desconto" id="desconto" value="0.0"/>

 

 

<label for='soma'>Total:</label>

 

<input type="text" name="soma" id="soma" class='calc' value="0.0"/>

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.