Javascript 如何:将价格乘以数量的总和
我已经使用list.js的一个修改版本制作了一个价目表 目前,我在每一行产品旁边都有复选框,选中的每个复选框都会添加到正确的总数中 我在每个复选框旁边添加了一个数量输入,但我希望这个数量乘以当前没有js的价格。以下是到目前为止的代码片段 JS: HTML: 如果有人能抽出时间更新JS来执行这样的功能,或者能给我任何指导,我将不胜感激Javascript 如何:将价格乘以数量的总和,javascript,jquery,Javascript,Jquery,我已经使用list.js的一个修改版本制作了一个价目表 目前,我在每一行产品旁边都有复选框,选中的每个复选框都会添加到正确的总数中 我在每个复选框旁边添加了一个数量输入,但我希望这个数量乘以当前没有js的价格。以下是到目前为止的代码片段 JS: HTML: 如果有人能抽出时间更新JS来执行这样的功能,或者能给我任何指导,我将不胜感激 谢谢。您只需将产品价值乘以相关数量字段即可: 谢谢Rory,马上就来。虽然每次数量变化时都需要重新检查选择,但我可以自己查看。是的,请查看keyup事件。我还建议您
谢谢。您只需将产品价值乘以相关数量字段即可:
谢谢Rory,马上就来。虽然每次数量变化时都需要重新检查选择,但我可以自己查看。是的,请查看keyup事件。我还建议您考虑使用jQuery发送AJAX请求以及连接事件。您可以使代码更短、更简单。
<script>
function totalIt() {
var input = document.getElementsByName("product");
var total = 0;
for (var i = 0; i < input.length; i++) {
if (input[i].checked) {
total += parseFloat(input[i].value);
}
}
document.getElementById("total").value = "£" + total.toFixed(2);
}
</script>
<tr>
<td class="id" style="display:none;">1</td>
<td name="unit" class="unit">300mm Base Unit</td>
<td name="range" class="range">Amalfi</td>
<td name="style" class="style">Cream Gloss</td>
<td name="price" class="price">£45.94
<input name="product" value="45.94" type="checkbox" class="tickbox" id="squaredThree" onclick="totalIt()"/>
<label for="squaredThree"></label>
<input type="number" name="quantity" min="1" max="10" placeholder="Quantity"></td>
</tr>
<tr>
<td class="id" style="display:none;">1</td>
<td class="unit">400mm Base Unit</td>
<td class="range">Amalfi</td>
<td class="style">Cream Gloss</td>
<td class="price">£47.94
<input name="product" value="45.94" type="checkbox" class="tickbox" id="squaredThree2" onclick="totalIt()"/>
<label for="squaredThree2"></label>
<input type="number" name="quantity" min="1" max="10" placeholder="Quantity"></td>
</tr>
function totalIt() {
var products = document.getElementsByName("product");
var quantities = document.getElementsByName("quantity");
var total = 0;
for (var i = 0; i < products.length; i++) {
if (products[i].checked) {
total += parseFloat(products[i].value) * parseInt(quantities[i].value, 10);
}
}
document.getElementById("total").value = "£" + total.toFixed(2);
}