Добавление нескольких результатов из выборок в один ввод

#javascript #html

#javascript #HTML

Вопрос:

Спокойной ночи.

Я создаю калькулятор СТАТИСТИКИ для ролевой игры, но у меня есть проблема, и она заключается в том, что при выборе статистики на основе ‘Raza’ (раса) и ‘Nivel’ (уровень) в двух выборках в начале, а затем выберите некоторые выборки снизу, они не суммируют обе суммы.

Например, ‘Brujas y brujos’ и ‘Nivel nato’ дают ‘6 Fuerza’, а добавление ‘ 1 FUE’ вместо ‘7 Fuerza’ сбрасывает счетчик, и появляется ‘1 Fuerza’.

 // stats generales por nivel
$('.raza,.nivel').on('change', function() {
  var raza = $('.raza').val();
  var nivel = $('.nivel').val();
  
  if (raza == 'Brujas y brujos' amp;amp; nivel == 'Nivel nato') {
    $('.fue').val('6');
    $('.mag').val('10');
    $('.res').val('2');
    $('.vel').val('2');
    $('.vit').val('55');
  } else if (raza == 'Brujas y brujos' amp;amp; nivel == 'Nivel primario') {
    $('.fue').val('8');
    $('.mag').val('20');
    $('.res').val('4');
    $('.vel').val('3');
    $('.vit').val('65');
  } else if (raza == 'Brujas y brujos' amp;amp; nivel == 'Nivel medio') {
    $('.fue').val('10');
    $('.mag').val('30');
    $('.res').val('6');
    $('.vel').val('4');
    $('.vit').val('80');
  } else if (raza == 'Brujas y brujos' amp;amp; nivel == 'Nivel total') {
    $('.fue').val('12');
    $('.mag').val('40');
    $('.res').val('8');
    $('.vel').val('5');
    $('.vit').val('90');
  } else if (raza == 'Hijos de Eva' amp;amp; nivel == 'Nivel nato') {
    $('.fue').val('7');
    $('.mag').val('0');
    $('.res').val('3');
    $('.vel').val('2');
    $('.vit').val('50');
  } else if (raza == 'Hijos de Eva' amp;amp; nivel == 'Nivel primario') {
    $('.fue').val('9');
    $('.mag').val('0');
    $('.res').val('5');
    $('.vel').val('3');
    $('.vit').val('60');
  } else if (raza == 'Hijos de Eva' amp;amp; nivel == 'Nivel medio') {
    $('.fue').val('11');
    $('.mag').val('0');
    $('.res').val('7');
    $('.vel').val('4');
    $('.vit').val('70');
  } else if (raza == 'Hijos de Eva' amp;amp; nivel == 'Nivel total') {
    $('.fue').val('13');
    $('.mag').val('0');
    $('.res').val('9');
    $('.vel').val('5');
    $('.vit').val('85');
    } else if (raza == 'Humanos' amp;amp; nivel == 'Nivel nato') {
    $('.fue').val('7');
    $('.mag').val('0');
    $('.res').val('2');
    $('.vel').val('1');
    $('.vit').val('35');
      } else if (raza == 'Humanos' amp;amp; nivel == 'Nivel primario') {
    $('.fue').val('9');
    $('.mag').val('0');
    $('.res').val('4');
    $('.vel').val('2');
    $('.vit').val('45');
      } else if (raza == 'Humanos' amp;amp; nivel == 'Nivel medio') {
    $('.fue').val('11');
    $('.mag').val('0');
    $('.res').val('6');
    $('.vel').val('3');
    $('.vit').val('55');
        } else if (raza == 'Humanos' amp;amp; nivel == 'Nivel total') {
    $('.fue').val('13');
    $('.mag').val('0');
    $('.res').val('8');
    $('.vel').val('4');
    $('.vit').val('65');
           } else if (raza == 'Licántropos' amp;amp; nivel == 'Nivel nato') {
    $('.fue').val('7');
    $('.mag').val('0');
    $('.res').val('3');
    $('.vel').val('3');
    $('.vit').val('55');
             } else if (raza == 'Licántropos' amp;amp; nivel == 'Nivel primario') {
    $('.fue').val('9');
    $('.mag').val('0');
    $('.res').val('5');
    $('.vel').val('4');
    $('.vit').val('65');
               } else if (raza == 'Licántropos' amp;amp; nivel == 'Nivel medio') {
    $('.fue').val('11');
    $('.mag').val('0');
    $('.res').val('7');
    $('.vel').val('5');
    $('.vit').val('80');
                 
                 } else if (raza == 'Licántropos' amp;amp; nivel == 'Nivel total') {
    $('.fue').val('13');
    $('.mag').val('0');
    $('.res').val('9');
    $('.vel').val('6');
    $('.vit').val('90');
                   
} else if (raza == 'Sirenas y tritones' amp;amp; nivel == 'Nivel nato') {
    $('.fue').val('6');
    $('.mag').val('0');
    $('.res').val('2');
    $('.vel').val('3');
    $('.vit').val('55');          
} else if (raza == 'Sirenas y tritones' amp;amp; nivel == 'Nivel primario') {
    $('.fue').val('8');
    $('.mag').val('0');
    $('.res').val('4');
    $('.vel').val('4');
    $('.vit').val('65');

} else if (raza == 'Sirenas y tritones' amp;amp; nivel == 'Nivel medio') {
    $('.fue').val('10');
    $('.mag').val('0');
    $('.res').val('6');
    $('.vel').val('5');
    $('.vit').val('80');
  
  } else if (raza == 'Sirenas y tritones' amp;amp; nivel == 'Nivel total') {
    $('.fue').val('12');
    $('.mag').val('0');
    $('.res').val('8');
    $('.vel').val('8');
    $('.vit').val('90');
    
 } else if (raza == 'Vampiros' amp;amp; nivel == 'Nivel nato') {
    $('.fue').val('14');
    $('.mag').val('0');
    $('.res').val('6');
    $('.vel').val('5');
    $('.vit').val('85');
   
 } else if (raza == 'Vampiros' amp;amp; nivel == 'Nivel primario') {
    $('.fue').val('18');
    $('.mag').val('0');
    $('.res').val('8');
    $('.vel').val('6');
    $('.vit').val('100');

 } else if (raza == 'Vampiros' amp;amp; nivel == 'Nivel medio') {
    $('.fue').val('22');
    $('.mag').val('0');
    $('.res').val('10');
    $('.vel').val('7');
    $('.vit').val('115');
   
} else if (raza == 'Vampiros' amp;amp; nivel == 'Nivel total') {
    $('.fue').val('26');
    $('.mag').val('0');
    $('.res').val('12');
    $('.vel').val('8');
    $('.vit').val('130');              
  } else {
    // default?
    $('.fue').val('0');
    $('.mag').val('0');
    $('.res').val('0');
    $('.vel').val('0');
    $('.vit').val('0');
  }
});

// puntos de stats por nivel
$(document).ready(function() {
  $('.nivel').on('change', function() {
    var value = this.value;
    if (value == 'Nivel nato') {
      $('.ps').val('10');
    }
    if (value == 'Nivel primario') {
      $('.ps').val('20');
    }
    if (value == 'Nivel medio') {
      $('.ps').val('30');
    }
     if (value == 'Nivel total') {
      $('.ps').val('40');
    }
    $('.ps').change();
  });
  $('.select').on("change", function() {
    var total = 0;
    $('.select').each(function() {
      var price = parseFloat($(this).find("option:selected").data("price"));
      console.log(price);
      total  = price;
    });
    $("#opt_price").val(total.toFixed(0))
      .change(); // Trigger
  });

  $(".a2, .b2").on("keydown keyup change", function(event) { // <--- Respond to change event, too
    var tr = $(this).closest("tr"); //we will use this to restrict scope to the current table row
    tr.find(".c2").val(Number(tr.find(".a2").val())   Number(tr.find(".b2").val()));
  });
});


// suma de stats
//fuerza
function updateFuerzaInputValue(){
  //Get the input value
  var inputValue = document.getElementById("fuerzaselect").value;
  
  //Update the input value in the input box
  document.getElementById("fue").value = inputValue
}

//magia
function updateMagiaInputValue(){
  //Get the input value
  var inputValue = document.getElementById("magiaselect").value;
  
  //Update the input value in the input box
  document.getElementById("mag").value = inputValue
}

//resistencia
function updateResistenciaInputValue(){
  //Get the input value
  var inputValue = document.getElementById("resistenciaselect").value;
  
  //Update the input value in the input box
  document.getElementById("res").value = inputValue
}

//velocidad
function updateVelocidadInputValue(){
  //Get the input value
  var inputValue = document.getElementById("velocidadselect").value;
  
  //Update the input value in the input box
  document.getElementById("vel").value = inputValue
}

//vitalidad
function updateVitalidadInputValue(){
  //Get the input value
  var inputValue = document.getElementById("vitalidadselect").value;
  
  //Update the input value in the input box
  document.getElementById("vit").value = inputValue
}  
 <script src="https://kit.fontawesome.com/3fad2a3853.js" crossorigin="anonymous"></script>
<link rel="stylesheet" type="text/css" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css"/> 

<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css">

<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css"><meta charset="UTF-8" content="text/html" http-equiv="Content-Type" /><link href="https://fonts.googleapis.com/css?family=Libre Franklin|ABeeZee|Open Sans|Lora:800|Great Vibes|UnifrakturCook:700|UnifrakturMaguntiaamp;display=swap" type="text/css" rel="stylesheet" /><meta charset="UTF-8" content="text/html" http-equiv="Content-Type" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Fira Sans:300,400,500,700|Old Standard TT:400,700|Poppins:300,400,500,700|Roboto Condensed:400,700amp;display=swap"/><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Bai Jamjuree:300,400,500,600,700,800,900|Cormorant Infant:300,400,500,600,700,800,900|Cormorant SC:300,400,500,600,700,800,900|Encode Sans Expanded:300,400,500,600,700,800,900|Karla:300,400,500,600,700,800,900|Nunito Sans:300,400,500,600,700,800,900|Raleway:300,400,500,600,700,800,900|Rubik:300,400,500,600,700,800,900|Slabo 27px:300,400,500,600,700,800,900|Source Sans Proamp;display:300,400,500,600,700,800,900=swap"/> 

<script src="
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script>

<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"> 
</script><script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"> 
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js"> 
</script>

<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css"><meta charset="UTF-8" content="text/html" http-equiv="Content-Type" />

<form method="POST" action="035-ejemplo-atributos-min-max-html5.php" name="formu" class="formu"><div class="imggene">
    <div class="titlegene">
        Calculadora de STATS 
    </div>
</div>
    <div style="" class="row"><div style="font-style: normal;font-weight: 700;text-transform: uppercase;background: #121212;border-bottom: 1px solid #0A0A0A;outline: 1px solid #0A0A0A; border-top: 1px solid #0a0a0a; outline-offset: -20px;border: 20px solid #181818;box-shadow: 0 0 0 1px #0A0A0A;height: 69px;"><div style="padding: 10px;font-style: normal;font-weight: 700;text-transform: uppercase;color: #8A8A8A;font-family: source code pro;font-size: 11px;text-align: center;text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;"><table><tbody><tr><td><div style="height: 40px;width: 40px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A, -1px 1px #0A0A0A, 1px -1px 0 #0A0A0A, -1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-chess" style="font-size: 15px"></i></span></div><div style="height: 40px;width: 255px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 40px;"><select  name="titulos" class="raza" style="max-width: 390px!important; border: none; padding: 10px 90px 10px 0px;"><option hidden value="" disabled selected>Raza</option><option label="Brujas y brujos">Brujas y brujos</option>
  <option label="Hijos de Eva">Hijos de Eva</option>
    <option label="Humanos">Humanos</option>
    <option label="Licántropos">Licántropos</option>
  <option label="Sirenas y tritones">Sirenas y tritones</option>
     <option label="Vampiros">Vampiros</option>
  </select></div></td><td><div style="height: 40px;width: 40px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A, -1px 1px #0A0A0A, 1px -1px 0 #0A0A0A, -1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-flag" style="font-size: 15px"></i></span></div><div style="height: 40px;width: 255px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 40px;"><select  name="titulos" class="nivel" style="max-width: 390px!important; border: none; padding: 10px 90px 10px 0px;"><option hidden value="" disabled selected>Nivel</option><option label="Nivel nato">Nivel nato</option>
  <option label="Nivel primario">Nivel primario</option>
    <option label="Nivel medio">Nivel medio</option>
    <option label="Nivel total">Nivel total</option>
  </select></div></td></tr></tbody></table></div></div>
    
        <div style="padding: 10px; border-top: 1px solid #0a0a0a; text-transform: uppercase; background: #111; border-bottom: 1px solid #0a0a0a;"><table style=" display: flex; justify-content: center; align-items: center; "><tbody><tr><td><div class="stats" style=" width: 90px; "><input id="fue" type="text" class="fue" value="" placeholder="0"> Fuerza</div></td><td><div class="stats" style=" width: 90px; "><input id="mag" type="text" class="mag" value="" placeholder="0"> Magia</div></td><td><div class="stats"><input id="res" type="text" class="res" value="" placeholder="0"> Resistencia</div></td><td><div class="stats" style="width: 120px;"><input id="vel" type="text" class="vel" value="" placeholder="0"> Velocidad</div></td><td><div class="stats" style=" width: 115px; "><input id="vit" type="text" class="vit" value="" placeholder="0"> Vitalidad</div></td></tr></tbody></table></div>
          
    <div style="display: none"><input type="number" name="edad" placeholder="Edad" id="edad"/></div>
    
<div style="font-style: normal;font-weight: 700;text-transform: uppercase;background: #121212;border-bottom: 1px solid #0A0A0A;outline: 1px solid #0A0A0A;border-top: 1px solid #0a0a0a;outline-offset: -15px;border: 15px solid #181818;box-shadow: 0 0 0 1px #0A0A0A;"><table style="
    padding: 5px;
"><tbody><tr><td><div style="height: 30px;width: 30px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A, -1px 1px #0A0A0A, 1px -1px 0 #0A0A0A, -1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-fist-raised" style="font-size: 15px"></i></div><div style="height: 30px;width: 95px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 30px;"><select class="select fuerza" id="fuerzaselect" onchange="updateFuerzaInputValue()" style="
    border: none;
    padding: 0;
">
<option hidden="" disabled="" selected="" data-price="0" value="Fuerza">Fuerza</option>
<option data-price="0" value="0">0</option>
<option data-price="-2" value="1"> 1 FUE</option>
<option data-price="-4" value="2"> 2 FUE</option>
<option data-price="-6" value="3"> 3 FUE</option>
<option data-price="-8" value="4"> 4 FUE</option>
<option data-price="-10" value="5"> 5 FUE</option>
<option data-price="-12" value="6"> 6 FUE</option>
<option data-price="-14" value="7"> 7 FUE</option>
<option data-price="-16" value="8"> 8 FUE</option>
<option data-price="-18" value="9"> 9 FUE</option>
<option data-price="-20" value="10"> 10 FUE</option>
<option data-price="-22" value="11"> 11 FUE</option>
<option data-price="-24" value="12"> 12 FUE</option>
<option data-price="-26" value="13"> 13 FUE</option>
<option data-price="-28" value="14"> 14 FUE</option>
<option data-price="-30" value="15"> 15 FUE</option>
<option data-price="-32" value="16"> 16 FUE</option>
<option data-price="-34" value="17"> 17 FUE</option>
<option data-price="-36" value="18"> 18 FUE</option>
<option data-price="-38" value="19"> 19 FUE</option>
<option data-price="-40" value="20"> 20 FUE</option>
</select></div></td><td><div style="height: 30px;width: 30px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A, -1px 1px #0A0A0A, 1px -1px 0 #0A0A0A, -1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-hand-sparkles" style="font-size: 15px"></i></div><div style="height: 30px;width: 95px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 30px;"><select class="select magia" id="magiaselect" onchange="updateMagiaInputValue()" style="
    border: none;
    padding: 0;
">
<option hidden="" disabled="" selected="" data-price="0" value="Magia">Magia</option>
<option data-price="0" value="0">0</option>
<option data-price="-2" value="1"> 1 MAG</option>
<option data-price="-4" value="2"> 2 MAG</option>
<option data-price="-6" value="3"> 3 MAG</option>
<option data-price="-8" value="4"> 4 MAG</option>
<option data-price="-10" value="5"> 5 MAG</option>
<option data-price="-12" value="6"> 6 MAG</option>
<option data-price="-14" value="7"> 7 MAG</option>
<option data-price="-16" value="8"> 8 MAG</option>
<option data-price="-18" value="9"> 9 MAG</option>
<option data-price="-20" value="10"> 10 MAG</option>
<option data-price="-22" value="11"> 11 MAG</option>
<option data-price="-24" value="12"> 12 MAG</option>
<option data-price="-26" value="13"> 13 MAG</option>
<option data-price="-28" value="14"> 14 MAG</option>
<option data-price="-30" value="15"> 15 MAG</option>
<option data-price="-32" value="16"> 16 MAG</option>
<option data-price="-34" value="17"> 17 MAG</option>
<option data-price="-36" value="18"> 18 MAG</option>
<option data-price="-38" value="19"> 19 MAG</option>
<option data-price="-40" value="20"> 20 MAG</option></select></div></td><td><div style="height: 30px;width: 30px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A, -1px 1px #0A0A0A, 1px -1px 0 #0A0A0A, -1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-shield-alt" style="font-size: 15px"></i></div><div style="height: 30px;width: 117px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 30px;"><select class="select resistencia" id="resistenciaselect" onchange="updateResistenciaInputValue()" style="
    border: 0;
    padding: 0;
">
<option hidden="" disabled="" selected="" data-price="0" value="Resistencia">Resistencia</option>
<option data-price="0" value="0">0</option>
<option data-price="-5" value="1"> 1 RES</option>
<option data-price="-10" value="2"> 2 RES</option>
<option data-price="-15" value="3"> 3 RES</option>
<option data-price="-20" value="4"> 4 RES</option>
<option data-price="-25" value="5"> 5 RES</option></select></div></td><td><div style="height: 30px;width: 30px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A, -1px 1px #0A0A0A, 1px -1px 0 #0A0A0A, -1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-running" style="font-size: 15px"></i></div><div style="height: 30px;width: 106px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 30px;"><select class="select velocidad" id="velocidadselect" onchange="updateVelocidadInputValue()" style="
    border: 0;
    padding: 0;
">
<option hidden="" disabled="" selected="" data-price="0" value="Velocidad">Velocidad</option>
<option data-price="0" value="0">0</option>
<option data-price="-5" value="1"> 1 VEL</option>
<option data-price="-10" value="2"> 2 VEL</option>
<option data-price="-15" value="3"> 3 VEL</option>
<option data-price="-20" value="4"> 4 VEL</option>
<option data-price="-25" value="5"> 5 VEL</option></select></div></td><td><div style="height: 30px;width: 30px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A, -1px 1px #0A0A0A, 1px -1px 0 #0A0A0A, -1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-heart" style="font-size: 15px"></i></div><div style="height: 30px;width: 106px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 30px;"><select class="select vitalidad" id="vitalidadselect" onchange="updateVitalidadInputValue()" style="
    padding: 0;
    border: 0;
">
<option hidden="" disabled="" selected="" data-price="0" value="Vitalidad">Vitalidad</option>
<option data-price="0" value="0">0</option>
<option data-price="-1" value="5"> 5 VIT</option>
<option data-price="-2" value="10"> 10 VIT</option>
<option data-price="-3" value="15"> 15 VIT</option>
<option data-price="-4" value="20"> 20 VIT</option>
<option data-price="-5" value="25"> 25 VIT</option>
<option data-price="-6" value="30"> 30 VIT</option>
<option data-price="-7" value="35"> 35 VIT</option>
<option data-price="-8" value="40"> 40 VIT</option></select></div></td></tr></tbody></table></div>

<div class="puntosrasgos"><div class="col-six" style="
    height: 40px;
    line-height: 40px;
"><div class="titulopuntosrasgos">Puntos de STATS</div></div><div class="col-four"><div class="input-group" style="
    position: absolute;
    margin-top: -23px;
    margin-left: 145px;
">
<table style="">
<tbody><tr>
<td width="10" rowspan="1" style="
    table-layout: fixed;
    min-width: 35px;
"><div class="col-pp"><input class="col-xs-4 a2 ps" type="number" disabled id="form-field-first"  value="0" name="positivos" style="max-width: 30px; background: #111; border: 1px solid #111"></div></td>
<td width="10" rowspan="1"><div class="col-pp"><input class="col-xs-4 b2" value="0" type="number" disabled id="opt_price" placeholder="0" name="negativos" style="max-width: 30px; background: #111; border: 1px solid #111"></div>
</td>
<td colspan="3" height="10"><div class="col-pp"><input class="col-xs-4 c2" value="0" type="number" disabled id="form-field-first" placeholder="0" name="total" style="max-width: 30px; background: #111; border: 1px solid #111"></div>
</td>
</tr>
</tbody></table></div></div></div></div>  

Что я мог сделать?

Комментарии:

1. Насколько я вижу, ваши update...() функции просто перезаписываются; нет попытки добавить к предыдущему значению.

Ответ №1:

Способ, которым вы выполняете изменения и вычисления, очень сложен в использовании и подвержен ошибкам, подобным вашим. Я бы предложил переписать его, чтобы использовать объекты со значениями для каждой расы и уровня, чтобы вы могли использовать действительные числа в своих расчетах, не делая ничего вручную:

 // Object with all races and levels
const stats = {
    // Create object for each race
    brujas: {
         // An array of values for each level for each stat
        fue: [6,  8,  10, 12],
        mag: [10, 20, 30, 40],
        res: [2,  4,  6 , 8],
        vel: [2,  3,  4 , 5],
        vit: [55, 65, 80, 90],
    },
    // ...
};
  

Тогда вместо длинного списка if/else (который будет расти экспоненциально, если вы добавите больше рас или уровней), вам просто нужно получить статистику по этой расе и уровню:

 $('.raza,.nivel').on('change', function() {
    const raza = $('.raza').val(); // Should return a key for the race, like 'brujas'
    const nivel = $('.nivel').val(); // Should return an index for the level, like '0'
    const stat = stats[raza]; // Get the race from stats

    // Set all stat values
    $('.fue').val(stat.fue[nivel]);
    $('.mag').val(stat.mag[nivel]);
    $('.res').val(stat.res[nivel]);
    $('.vel').val(stat.vel[nivel]);
    $('.vit').val(stat.vit[nivel]);
});
  

Что вы можете сделать, изменив свой selects (см. Значения их параметров):

 <select class="raza">
    <option value="brujas">Brujas y brujos</option>
    ...
</select>

<select class="nivel">
    <option value="0">Nivel nato</option>
    <option value="1">Nivel primario</option>
    <option value="2">Nivel medio</option>
    <option value="3">Nivel total</option>
</select>
  

Это не прямой ответ на ваш вопрос, но, изменив логику, вы, надеюсь, сможете выполнять любые вычисления более простым способом, что может просто избавить вас от возникшей проблемы.

Комментарии:

1. Большое вам спасибо, я постараюсь найти какой-нибудь способ, которым я могу сохранить предыдущее значение при вводе нового значения, не перезаписывая его.