1

我需要一个基本循环来总结两个字段。我只是让它为一组工作,但其他组保持不变。我知道我需要某种数组来解决这个问题,但我无法解决。(注意,它们是原始项目中的 50 个组,但我只是添加了 2 个)这是代码:

HTML

<label>Value 1:</label><input type="text" name="value1[]" id="txtval1"><br>
<label>Value 2:</label><input type="text" name="value2[]" id="txtval2"><br>
<label>Total:</label><input type="text" name="total[]" id="txttotal"><br><br>
<label>Value 1:</label><input type="text" name="value1[]" id="txtval1"><br>
<label>Value 2:</label><input type="text" name="value2[]" id="txtval2"><br>
<label>Total:</label><input type="text" name="total[]" id="txttotal">
<br><br>
<button type="button" onclick="myFunction(); return false;">Get Total</button>

Javascript

<script type="text/javascript">
function myFunction()
{
var val1 = document.getElementById('txtval1').value;
var val2 = document.getElementById('txtval2').value;
var total = document.getElementById('txttotal');
var sum = parseInt(val1) + parseInt(val2);
if (val1.value!='' && val2.value!=''){
total.value='';
total.value = total.value + sum;
}
   }
</script>

我不知道为什么这在我的小提琴上不起作用,但在我的本地机器上起作用。这是小提琴

4

2 回答 2

0

我认为给两个元素提供相同的 ID 这是错误的。

您必须为每个元素提供不同的 ID 并将它们传递给。

看看这个fiddle

http://jsfiddle.net/83m6e/

编辑:我改变了 option2 的小提琴:

http://jsfiddle.net/83m6e/3/

您也可以将每个段放入一个 div 中,然后不要更改名称。

于 2013-04-08T11:39:43.987 回答
0

您不能添加数组以添加它们的元素。你必须一件一件地去做。试试这个代码:

<html>
 <head>
  <script type="text/javascript">
   function myFunction()
   {
    var count = 3;
    var val1, val2, sum;
    for (var i = 0; i < count; i++)
    {
     val1 = document.getElementById('txtval1_' + i).value;
     val2 = document.getElementById('txtval2_' + i).value;
     sum = parseInt(val1) + parseInt(val2);
     document.getElementById('txttotal_' + i).value = sum;
    }
   }
  </script>
 </head>
 <body>
  <label>Value 1:</label><input type="text" id="txtval1_0"><br>
  <label>Value 2:</label><input type="text" id="txtval2_0"><br>
  <label>Total:</label><input type="text" id="txttotal_0"><br><br>
  <label>Value 1:</label><input type="text" id="txtval1_1"><br>
  <label>Value 2:</label><input type="text" id="txtval2_1"><br>
  <label>Total:</label><input type="text" id="txttotal_1"><br><br>
  <label>Value 1:</label><input type="text" id="txtval1_2"><br>
  <label>Value 2:</label><input type="text" id="txtval2_2"><br>
  <label>Total:</label><input type="text" id="txttotal_2"><br><br>
  <button type="button" onclick="myFunction(); return false;">Get Total</button>
 </body>
</html>
于 2013-04-08T11:47:22.953 回答