mano podrias probar enviando una id que identifique a los elementos de tu lista, por ejemplo
Código Javascript
:
Ver originalfunction calcular(X){
n1 = document.getElementById(X).value;
n2 = document.getElementById("A"+X).value;
n3= document.getElementById("B"+X).value;
r1= (parseInt(n1)*0.30)+(parseInt(n2)*0.30)+(parseInt(n3)*0.40);
document.getElementById("resultado"+X).value = r1;
}
Código HTML:
Ver original<input type="text" id="A1" value="" placeholder="0"/> <input type="text" id="B1" value="" placeholder="0"/> <input type="text" id="1" value="" placeholder="0" onChange="javascript:calcular(this.id);"/> <input type="text" id="resultado1" value="" readonly/>
<input type="text" id="A2" value="" placeholder="0"/> <input type="text" id="B2" value="" placeholder="0"/> <input type="text" id="2" value="" onChange="javascript:calcular(this.id);"/> <input type="text" id="resultado2" value="" readonly/>
<input type="text" id="A3" value="" placeholder="0"/> <input type="text" id="B3" value="" placeholder="0"/> <input type="text" id="3" value="" onChange="javascript:calcular(this.id);"/> <input type="text" id="resultado3" value="" readonly/>
alli le estoy pasando la id del ultimo campor que es el que va a activar el calculo y las id de los otros campos la copleto con la del ultimo, asi el js diferencia cada linea
Muestra:
http://jsfiddle.net/6e7s4mxf/