Código:
Los errores vienen a partir de cuando calcuo los totales, el total de linea se muestra bien por sospecho que el error viene de aqui:$(document).ready(function() {
$('#totalbeneficios').attr('value','0'+'€');
$('#porcentajebeneficios').attr('value','0'+'%');
});
function calculos() {
var num = $('.registro').length; //cantidad de lineas que tenemos
var importe = '';
var incremento = '';
var operador = '';
var unidades = '';
var totalunitario = '';
var totallinea = '';
var totalsinincremento = '';
var totalconincremento = '';
var totalbeneficios = '';
var porcentajebeneficios = '';
for (var i = 1; i <= num; i++) {
importe = document.getElementById('importe' + i).value;
incremento = document.getElementById('incremento' + i).value;
operador = document.getElementById('operador' + i).value;
unidades = document.getElementById('unidades' + i).value;
if (operador == '+') {
totalunitario = (parseFloat(importe) + parseFloat(incremento));
totallinea = (parseFloat(totalunitario) * parseFloat(unidades));
} else {
totalunitario = (parseFloat(importe) * ((parseFloat(incremento)+100)/100));
totallinea = (parseFloat(totalunitario) * parseFloat(unidades));
}
/////////////////////////////////////////////////////////////////////
totalsinincremento = parseFloat(totalsinincremento) + parseFloat(importe);
totalconincremento = parseFloat(totalconincremento) + parseFloat(totallinea);
/////////////////////////////////////////////////////////////////////////
$('#total' + i).attr('value',totallinea+'€');
$('#totalbruto').attr('value',totalsinincremento+'€');
$('#totalsiniva').attr('value',totalconincremento+'€');
$('#totalconiva').attr('value',(totalconincremento * 1.21)+'€');
}
totalbeneficios = (parseFloat(totalconincremento) - parseFloat(totalsinincremento));
porcentajebeneficios = ((parseFloat(totalconincremento)/parseFloat(totalsinincremento))*100);
$('#porcentajebeneficios').attr('value',porcentajebeneficios+'%');
$('#totalbeneficios').attr('value',totalbeneficios+'€');
}
Código:
La unica diferencia que veo con el resto de operaciones es que en esta uso la misma variable a la que llamamos para sumarle la otra variable tal y como hacía en PHP no se si tendrá algo que ver pero lo señalo por si acaso, gracias de antemano por la ayuda, saludos Pablo. /////////////////////////////////////////////////////////////////////
totalsinincremento = parseFloat(totalsinincremento) + parseFloat(importe);
totalconincremento = parseFloat(totalconincremento) + parseFloat(totallinea);
/////////////////////////////////////////////////////////////////////////


