Hola talvez esto te ayude, no sé como estés manejando la creación de tu nueva fila pero supongo que de alguna forma se debe poder obtener el IVA y de esa manera calcular el procentaje, yo me estoy saltando ese paso ya que no se como lo manejes y directamente estoy enviando los datos a la funcion actualizarIVA que funciona de la siguiente manera:
- la funcion recibe 2 parametros "IVA" que es el valor de tu IVA, y "valor" que es el porcentaje calculado con el precio del prodcutos(s) y el IVA
- la funcion reemplaza el punto por un caracter para no tener problemas a la hora de asignar el id.
- luego la funcion veriifca si el span para ese monto de IVA existe, si existe coge el valor actual que tiene y lo suma al valor enviado a al función: si no existe crea la etiqueta span con el monto que enviaste a la funcion
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="cic/js/jquery-1.5.2.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
jQuery.fn.exists = function(){return jQuery(this).length>0;}
function actualizarIVA(iva,valor){
id=iva.toString();
id=id.replace(".","p");
if($('#iva'+id).exists())
{
var valorActual=parseFloat($('#iva'+id+' span.total').text());
$('#iva'+id+' span.total').text(valorActual+valor);
}
else
{
$('#iva').append('<span id="iva'+id+'">'+iva+'%: <span class="total">'+valor+'</span></span><br>');
}
}
$(document).ready(function(){
actualizarIVA(21.30, 12.45); //No existe 21.30 entonces lo agregará
actualizarIVA(21.30, 10); //Ya existe un span para 21.30 entonces sumará un total 22.45
actualizarIVA(15.00, 10);
});
</script>
<title>Documento sin título</title>
</head>
<body>
<table style="border:#000 1px solud">
<tr>
<th>I.V.A. Insc.%</th>
</tr>
<tr>
<td id="iva" style="width:300px"></td>
</tr>
</table>
</body>
</html>
Espero te sirva.
Talvez tuviste problemas al comparar porq tu id tenia punto (id="21.000") y el jquery toma ese punto como una clase así que por eso hice el reemplazo del punto por un caracter.
No olvides el karma (adicto al karma) y gracias por los anteriores aunq todavía no se refleje mi karma actual en mi perfl