私には小さな「問題」があります。"getElementsByName"
テーブル内の行ごとにループ for を実行しようとしました
。
いくつかの値をループしようとしています。価格 * 数量 * 割引 * 税金 (select.options) = MY 割引後の最終価格。
AD: (フル ビューを開く必要があります)
1行の場合、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
は単一行のコードであり、計算は正しいです。
何か案は ?