【发布时间】:2017-04-18 13:41:54
【问题描述】:
我需要帮助,基本上将总输入加在一起,以使它们加在一起以创建最终数量。
如上图所示,可以有多个输入,点击按钮可以添加更多,代码可以工作,所以数量和单价相加,但是我在小计之后自动相加以不断更新 gbp 总量。
<table>
<tr>
<td>
<input type="number" oninput="calculate(this)" id="qid1" data-quantity name="qamount" min="0" data-validation="number" class="qinput txt" value="{{Quantity}}" />
</td>
<td>
<input type="text" data-validation="length" data-validation-length="max100" class="dinput" value="{{Details}}" />
</td>
<td>
<input type="number" oninput="calculate(this)" id="uid1" data-unitprice name="uamount" min="0" data-validation="number" data-validation-allowing="float" class="uinput txt" value="{{UnitPrice}}" />
</td>
<td>
<input readonly id="subsubtotal" name="totalamount" class="sinput txt" value="{{Subtotal}}" />
</td>
</tr>
</table>
<div class="additembtton">
<button id="bttonitem">Add Invoice Item</button>
<input id="bttonitem1" type="submit" value="Save" />
<span class="gbptotal">GBP Total</span>
<span id="totalplus" class="totalsub">£0.00</span>
</div>
JS
//code that multiplies the quantity and unit price input boxes
function calculate(obj) {
var tr = obj.parentNode.parentNode;
var myBox1 = tr.cells[0].children[0].value;
var myBox2 = tr.cells[2].children[0].value;
var result = tr.cells[3].children[0];
var myResult = parseFloat(myBox1) * parseFloat(myBox2);
result.value = myResult.toFixed(2);
}
上面的javascript已经可以工作了,这将数量和单价相乘,我正在努力解决如何对小计做同样的事情,将所有小计加在一起(不管有多少) ,并在 £0.00 所在的位置显示最终总数。
【问题讨论】:
-
您的用户可以订购商品的小部分吗?这与您的问题完全无关,但从 UI 的角度来看,小数似乎不太可能要求。 :) 哦,你真的在使用 jQuery 吗?这绝不是必需的,如果它没有在其他地方使用,似乎是多余的。
-
是的,是的:))
标签: javascript jquery input addition