Javascript / Codeigniter中的价格计算

I want to calculate the Total Price for the order. I got a formula::

TotalWithoutTax = (UnitPrice*Quantity)+Transportation+Premium-Discount

TotalAmtInclTax = TotalWithoutTax + TotalTax

But I cannot get the output. Please help me and give me some advise on this. Thank You.

Javascript:

function calcPrice(qty[], unit_price[], gp[], discount[], totalwithouttax, totaltax, totalamtincltax) {
  var quantity = document.getElementById('qty[]').value;
  var unitPrice = document.getElementById('unit_price[]').value;
  var premium = document.getElementById('gp[]').value;
  var discount = document.getElementById('discount[]').value;
  var transportation = document.getElementById('transportation[]').value;

  var totalwithouttax = (unitPrice * quantity) + premium + transportation - discount;
  document.getElementById(totalwithouttax).value = Math.round(totalwithouttax);
  return true;
  var totalwithouttax = document.getElementById('totalwithouttax').value;
  var totaltax = document.getElementById('totaltax').value;

  var totalamtincltax = totalwithouttax + totaltax;
  document.getElementById(totalamtincltax).value = Math.round(totalamtincltax);
  return true;
}

View:

<!-- **************************** START OF ITEM LIST 1 ************************   -->
<tr class="item-details">
  <td><span class="rowNumber">1</span></td>
  <td class="">
    <?php
      $options = array(
                       '' => '~Choose An Item~'
                       );
      foreach ($item as $rows){
          $options[$rows->id] = $rows->item_name;
      }

      $select = array(
                      'id' => 'item_name',
                      'class' => 'form-control'
                      );
      echo form_dropdown('item_name[]', $options,set_value('item_name'),$select);
    ?>
  </td>
  <td class=""><input type="number" class="item-qty" name="qty[]" /></td>
  <td><input type="number" name="weight[]" class="weight" /></td>
  <td><input type="number" name="transportation[]" class="transporation" onkeyup="calcPrice(qty[],unit_price[],gp[],discount[],totalwithouttax,totaltax,totalamtincltax);" /></td>
  <td><input type="text" id="gp[]" name="gp[]" value="" onkeyup="calcPrice(qty[],unit_price[],gp[],discount[],totalwithouttax,totaltax,totalamtincltax);" /></td>
  <td><input type="text" id="discount[]" name="discount[]" value="" onkeyup="calcPrice(qty[],unit_price[],gp[],discount[],totalwithouttax,totaltax,totalamtincltax);" /></td>
  <td><input type="text" id="unit_price[]" name="unit_price[]" value="" onkeyup="calcPrice(qty[],unit_price[],gp[],discount[],totalwithouttax,totaltax,totalamtincltax);" /></td>
  <td align="right">
    <input type="text" id="totalwithouttax" name="totalwithouttax" value="" onkeyup="calcPrice(qty[],unit_price[],gp[],discount[],totalwithouttax,totaltax,totalamtincltax);" readonly>
  </td>
  <td align="right">
    <input type="text" id="totaltax" name="totaltax" value="" onkeyup="calcPrice(qty[],unit_price[],gp[],discount[],totalwithouttax,totaltax,totalamtincltax);" readonly>
  </td>
  <td align="right">
    <input type="text" id="totalamtincltax" name="totalamtincltax" value="" onkeyup="calcPrice(qty[],unit_price[],gp[],discount[],totalwithouttax,totaltax,totalamtincltax);" readonly>
  </td>
</tr><br/>
doushuichong2589
doushuichong2589 这个id=“variablename[]”语法是一些codeigniter的东西吗?否则,如果您在其他行中重复这些错误,那么您也会遇到错误,即您的ID不是唯一的
一年多之前 回复
dougezhua0017
dougezhua0017 你可以计算数组,但是你不能在变量名中使用[]-你可以使用像gp这样的名字并记住它的数组或使用像gpArr这样的东西
一年多之前 回复
doudaifu6083
doudaifu6083 但是[]是一个数组,或者我无法在javascript中计算数组?
一年多之前 回复
douce1368
douce1368 你试图调试什么问题?问题是基于JS还是PHP?
一年多之前 回复
dthok9648
dthok9648 那是因为你不能用[]来命名函数参数。无论如何,所有这些参数都毫无意义-你没有通过它们
一年多之前 回复
doqdcks3948
doqdcks3948 我删除了第一个返回,但是控制台显示::1UncaughtSyntaxError:Unexpectedtoken[和3UncaughtSyntaxError:Unexpectedtoken]
一年多之前 回复
doulu8537
doulu8537 你在控制台得到任何错误吗?你的js函数中有2个return语句,所以从未执行过一半
一年多之前 回复

1个回答



  document.getElementById(“totalwithouttax”)。value = Math.round(totalwithouttax); 
</ code> < / pre>

这可以解决许多问题的思考</ p>
</ div>

展开原文

原文

   document.getElementById("totalwithouttax").value=Math.round(totalwithouttax);

this can solve a lot of issues a think

dqde43215
dqde43215 好的,我错了,我很抱歉
一年多之前 回复
dongtuo6562
dongtuo6562 嗨,我的[TotalWithoutTax],[TotalTax],[TotalAmtInclTax]的文本框中仍然没有输出
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问