Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Нужна помощь, с калькулятором (https://javascript.ru/forum/css-html-browser/36104-nuzhna-pomoshh-s-kalkulyatorom.html)

LeDik 04.03.2013 13:18

Нужна помощь, с калькулятором
 
Вообщем столкнулся с задачей, необходимо написать калькулятор с радиокнопками , который выполнял умножение значения из радиокнопки на значение из поля, тут все понятно, но дальше все усложнилось, необходимо чтобы калькулятор выполнял это действие с нескольими полями:
<!DOCTYPE html>
<html>  
<head>
  <style type="text/css">
    label {
      display: block;
    }
      
    label + label {
      margin-top: 5px;
    }
  </style>
</head>
<body>
  <form>
    <label>Вес, кг.
      <input type='text' id='price' />
    </label>
    <label>Коэффициент 1
      <input checked="checked" type='radio' name='factor' onchange="calculate()" value='89' />
    </label>
    <label>Коэффициент 2
      <input type='radio' name='factor' onchange="calculate()" value='88' />
    </label>
    <label>Результат
      <input id="result" readonly="readonly" text="text" />
    </label>
  <form>
  <script type="text/javascript">
    var factor, i,
        factors = document.getElementsByName('factor'),
        price = document.getElementById('price'),
        result = document.getElementById('result');
      
    for (i = 0; i < factors.length; i++) {
      factors[i].onchange = calculate;
    }
            
    price.onpropertychange = price.oninput = calculate;
     
    function calculate() {
      for (i = 0; i < factors.length; i++) {
        factor = factors[i];
         
        if (factor.checked) {
          result.value = factor.value * price.value;
          return;
        }
      }
    }
  </script>
</body>
</html>


Тут есть "Вес" , 2 коэффициента и поле результата, но как сделать чтобы было несколько таких блоков? Как переделать этот скрипт? Можете подсказать?


Часовой пояс GMT +3, время: 02:46.