Tengo una lista de personas que necesito mostrar y para cada persona hay una entrada para la edad.
Necesito sumar las edades cuando estoy escribiendo; Quiero decir, si tengo 5 personas cuando estoy en el quinto registro, necesito el total de las 4 edades anteriores como esta: Calcular la suma de los campos de entrada de tipo de número por javascript
este es mi codigo:
<tr th:each="person : ${persons}"> <td th:text="${person.first_name}"></td> <td th:text="${person.last_name}"></td> <td th:text="${person.phone}"></td> <td><input id="age" class="form-control" type="text" name="age" th:field="*{ages}"> </td> </tr> Total : <input type="text" name="total" id="total"/>¡Hice este script js, pero en total me da solo el valor de la primera línea! Alguna ayuda ?
<script type="text/javascript"> $(document).ready(function(){ $("#age").each(function() { $(this).on('input', function(){ calculateSum(); }); log.console("sum :"+sum); }); }); function calculateSum() { var sum = 0; $("#age").each(function() { if(!isNaN(this.value) && this.value.length!=0) { sum += parseFloat(this.value); } }); $("#sum").html(sum.toFixed(2)); } </script>2.1. divide la matriz desde 0 hasta el lugar del valor actual (porque slice(0,x) en realidad corta la matriz de 0 a x-1).
2.2 ejecute la función de reducción en la matriz dividida, puede ver un ejemplo aquí: https://www.w3schools.com/jsref/jsref_reduce.asp