Ver Mensaje Individual
  #13 (permalink)  
Antiguo 03/03/2016, 14:39
ZedGe1505
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Ejecutar funcion JS en inputs con el mismo id

Prueba esto



Código HTML:
Ver original
  1. <tr>
  2. <td>Numero 1</td>
  3. <td>Numero 2</td>
  4. <td>Resultado</td>
  5. </tr>
  6. </thead>
  7. <tr>
  8. <td><input type="text" placeholder="0.0" id="uno" class="input1" value="0" onKeyUp="prueba(this)"></td>
  9. <td><input type="text" placeholder="0.0" id="dos" class="input1a" value="0" onKeyUp="prueba(this)"></td>
  10. <td><input type="text" placeholder="0.0" id="tres" class="input1b" value="0" onKeyUp="prueba(this)"></td>
  11. </tr>
  12. <tr>
  13. <td><input type="text" placeholder="0.0" id="uno" class="input2" value="0" onKeyUp="prueba(this)"></td>
  14. <td><input type="text" placeholder="0.0" id="dos" class="input2a" value="0" onKeyUp="prueba(this)"></td>
  15. <td><input type="text" placeholder="0.0" id="tres" class="input2b" value="0" onKeyUp="prueba(this)"></td>
  16. </tr>
  17. </tbody>


Código Javascript:
Ver original
  1. function prueba(valorInput){
  2.     //Obtienes la clase que genera el evento, sin contar la ultima letra
  3.   var clase = valorInput.className.substring(0,6);
  4.     //obtienes valor de los input correspondientes
  5.   var y = document.getElementsByClassName(clase)[0].value;
  6.   var z = document.getElementsByClassName(clase+'a')[0].value;
  7.   //escribes el resultado
  8.   document.getElementsByClassName(clase+'b')[0].value = parseInt(y)+parseInt(z);
  9.  
  10. }


es solo un ejemplo y debe de haber una opción mucho más limpia pero es lo que se me ocurre a la rápida y siendo un programador medio xD