0

私には小さな「問題」があります。"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
は単一行のコードであり、計算は正しいです。

何か案は ?

4

0 に答える 0