我有一个小“问题”。"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
是单行的代码,计算是正确的。
有任何想法吗 ?