Dúvida sobre somas de valores de diferentes formulários

  • Autor Autor CarlosJCR
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
C

CarlosJCR

Curioso
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Hola, estoy haciendo una herramienta que necesito para un juego, pero no sé como proceder, necesito que una función en javascript me sume todos los valores de cada linea por separado y lo muestre en el apartado puntuación de la derecha, pero me suma todos los valores de todas las filas en un solo número por culpa del nombre de id de estos inputs, pero necesito que solo sume filas independientes.

Adjunto una imagen:
prueba32.webp

Y cuando cambio el valor de un input (por equivocación) me lo vuelve a sumar, solo necesitaría que me sumara 1 valor de cada input y en el caso de haberme equivocado al cambiar el valor, que automáticamente se corrija.

Llevo un par de días pensando y seguramente sería más sencillo de lo que me imagino, pero estoy sin ideas ya.

Pongo el código de esta tabla:

Inserir CODE, HTML ou PHP:
            <?php

                if(isset($_POST['createTable']))
                {

                    $maxPlayers = $_POST['players'];
            ?>
            <script>
                /* Sumar dos números. */
                function sumar(valor) {
                    var total = 0;   
                    valor = parseInt(valor); // Convertir el valor a un entero (número).
                                    
                    total = document.getElementById('ptsTotal').innerHTML;
                                    
                    // Aquí valido si hay un valor previo, si no hay datos, le pongo un cero "0".
                    total = (total == null || total == undefined || total == "") ? 0 : total;
                                    
                    /* Esta es la suma. */
                    total = (parseInt(total) + parseInt(valor));
                                    
                    // Colocar el resultado de la suma en el control "span".
                    document.getElementById('ptsTotal').innerHTML = total;
                }
            </script>

            <table class="table table-hover">
              <thead>
                <tr>
                  <th scope="col">Jugadores</th>
                  <th scope="col">Partidas</th>
                  <th scope="col">Puntuación final</th>
                </tr>
              </thead>
              <tbody>
                  <?php
                      $i=1;
                      while($i <= $maxPlayers)
                      {
                  ?>

                <tr class="table-info">
                  <th scope="row"><?php echo $_POST['jugador_'.$i]; ?></th>
                  <td>
                      
                              
                              <div class="form-row align-items-center">
                                  <?php

                                  for($a = 1; $a <= 5; $a++)
                                  {

                                ?>
                                <div id="player_<?php echo $a; ?>">
                                <div class="col-auto">

                                    <select name="carrera_<?php echo $a; ?>" class="form-control-sm" id="exampleSelect1" onchange="sumar(this.value);">
                                        <option>0</option>
                                        <option value="8">1</option>
                                        <option value="7">2</option>
                                        <option value="6">3</option>
                                        <option value="5">4</option>
                                        <option value="4">5</option>
                                        <option value="3">6</option>
                                        <option value="2">7</option>
                                        <option value="1">8</option>
                                    </select>

                                </div>

                                </div>

                                <?php } ?>
                                <button class="btn btn-success btn-sm" style="margin-left:20px;" name="result_<?php echo $a; ?>">Resultado</button>

                            

                                <br/>
                              </div>


                  </td>
                  <td><h3><span id="ptsTotal"></span></h3></td>
                </tr>
                <?php
                    $i++;

                    }
                ?>
                
              </tbody>
            </table>
            <?php
                }
            ?>

          </div>
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
@CarlosJCR recorre todos los select de cada fila, así sumas sus valores y lo agregas en el total!
 
Voltar
Topo