添加动态字段的值

时间:2013-03-15 03:26:03

标签: javascript

我一直在寻找一种方法来将两个动态创建的文本字段的值相乘。我发现使用以下作为客户端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循环的倒数第二行的所有内容都有效。动态创建的乘法是有效的。我无法弄清楚的障碍是如何将变量“invoice_total_value”作为invoice_total表单组件的值。它永远不会更新。我试图解析要添加的数字,并尝试使用parseFloating invoice_total_value sum变量。我还认为这可能是一个类型转换问题所以我尝试添加一个null('')字符串,将其转换为字符串,然后分配它。没有任何效果。我无法将其重新分配给静态文本字段。有任何想法吗?我正在接受偏头痛...;)

1 个答案:

答案 0 :(得分:0)

如果您的标识为invoice_total的元素不是输入字段,请执行以下操作:

document.getElementById('invoice_total').innerHTML = invoice_total_value;