0

我有一个小“问题”。"getElementsByName"我尝试为表中的每一行做一个循环 。

我尝试循环一些值。价格 * 数量 * 折扣 * 税 (select.options) = MY 折扣后的最终价格。

AD:(您必须打开完整视图)

对于单行,它的效果很好getElementById。但是,需要创建下一行(Button Add Position)。所以我选择了GetElementsByName

也算他的价值(在“回扣后”到位)

- 编辑 -

我做了一个循环“For”。在 html 代码中,我有很多相同的“命名”字段(例如 cena、ile、rabat 等)所以如果我将有 3 行包含这些字段的行,我想分别为每一行计算。但是我的循环不起作用。

您可以在这里看到完整视图:http: //codepen.io/warhero/pen/WwvLZE (121 行 JS)

我的 JS 代码:

var i;
for (i = 0; i < document.getElementsByName('kwotarabat').length; i++) {
  var cena = parseInt(document.getElementsByName('cena')[i].value);
  var ile = parseInt(document.getElementsByName('ile')[i].value);
  var rabat = parseInt(document.getElementsByName('rabat')[i].value);
  var vat = document.getElementsByName('vat')[i].options[document.getElementsByName('vat')[i].selectedIndex].value;
  // vat value
  var wynik = (ile * cena * vat);
  // the net value
  var wynik2 = cena * ile;
  // net amount after discount
  var wynikRabat = (wynik2 * (rabat / 100));
  // gross amount after discount
  var wynikRabatVat = (wynik * (rabat / 100));
  // net amount after discount (display for customers)
  var wynikNetto = (wynik2 - wynikRabat);
  document.getElementsByName('kwotarabat')[i].innerHTML = (wynik + wynik2 - wynikRabat - wynikRabatVat).toFixed(2);
}   

在这里>> http://codepen.io/warhero/pen/ONVEmZ
是单行的代码,计算是正确的。

有任何想法吗 ?

4

0 回答 0