0

動的に作成された 2 つのテキスト フィールドの値を乗算する方法を探していました。クライアント側のJS関数として以下を使用していることがわかりました。total_inv_items_field は、動的要素が作成されると増加する隠しフィールドです。その値を使用して for ループを制御します。

    function calcTotals()
    {
       var totalinvcitems = document.getElementById('total_inv_items_field').value;
       var currinvcitem = 0;
       var invoice_total_value = 0;

       for (var invcitemcounter=0; invcitemcounter<totalinvcitems; invcitemcounter++)
       {
          currinvcitem = currinvcitem + 1;

          var quantity = document.getElementById('qty' + currinvcitem).value;
          var price = document.getElementById('cost' + currinvcitem).value;
          var totallineitem = quantity * price;
          document.getElementById('totallinefee' + currinvcitem).value = totallineitem;
          invoice_total_value = invoice_total_value + totallineitem;
       }
       document.getElementById('invoice_total').value = invoice_total_value;
    }

for ループの最後から 2 行目までのすべてが機能します。動的に作成された乗算が機能しています。私が理解できない私のハードルは、変数「invoice_total_value」をinvoice_totalフォームコンポーネントの値にする方法です。更新されることはありません。追加される数値を parseFloat しようとし、invoice_total_value 合計変数も parseFloating しようとしました。また、型変換の問題かもしれないと思ったので、null ('') 文字列を追加して文字列に変換してから割り当ててみました。何も機能していません。それを静的テキストフィールドに再割り当てすることはできません。何か案は?私は片頭痛を起こしています... ;)

4

1 に答える 1

0

id を持つ要素がinvoice_total入力フィールドでない場合は、次のようにします。

document.getElementById('invoice_total').innerHTML = invoice_total_value;
于 2013-03-15T03:58:23.263 に答える