javascript - 添加所选商品的总价(Javascript)

标签 javascript html function checkbox

我遇到了一个问题。代码在这里:

// JavaScript Document

window.totalIt= function() {
  var input = document.getElementsByName("product");
  var total = 0;
  for (var i = 0; i < input.length; i++) {
    if (input[i].checked) {
      total += 1;
    }
  }
  if(total>=3){
    document.getElementById("total").value = "$" + (total*29).toFixed(2);
  }
  else{
    document.getElementById("total").value = "$" + (total*39).toFixed(2);
  }
}

window.totalPrisDessert= function() {
  var input = document.getElementsByName("dessert");
  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);
}
<div id="formular">
  <div id="formulartekst">
    <form>

      <h2 class="formskrift">Order Hot Food</h2>
      <p class="kroner">$39 / $29 when 3 or more checked</p>
      <input name="product" value="39" type="checkbox" id="p1" onclick="totalIt()" /> Monday
      <br>
      <input name="product" value="39" type="checkbox" id="p2" onclick="totalIt()" /> Tuesday
      <br>
      <input name="product" value="39" type="checkbox" id="p3" onclick="totalIt()" /> Wednesday
      <br>
      <input name="product" value="39" type="checkbox" id="p4" onclick="totalIt()" /> Thursday
      <br>
      <input name="product" value="39" type="checkbox" id="p5" onclick="totalIt()" /> Friday

      <h2 class="formskrift">Dessert</h2>
      <p class="kroner">$20 ALWAYS</p>
      <input name="dessert" value="20" type="checkbox" id="p6" onclick="totalPrisDessert()"/>
      Monday<br>
      <input name="dessert" value="20" type="checkbox" id="p7" onclick="totalPrisDessert()"/>
      Tuesday<br>
      <input name="dessert" value="20" type="checkbox" id="p8" onclick="totalPrisDessert()"/>
      Wednesday<br>
      <input name="dessert" value="20" type="checkbox" id="p9" onclick="totalPrisDessert()"/>
      Thursday<br>
      <input name="dessert" value="20" type="checkbox" id="p10" onclick="totalPrisDessert()"/>
      Friday<br>

      <label>
        <br> Total
        <input value="$0.00" readonly type="text" id="total" />
      </label>
      <input type="submit" value="Order">
    </form>
  </div>
</div>

https://jsfiddle.net/u0y7aoct/2/

当我检查前 5 个框时,他们会将价格添加到总框中。但是,如果我选中以下 5 个框(甜点)中的任何一个,价格就会被覆盖。我需要显示总价,但现在它们充当两个不同的 Angular 色。

最佳答案

试试这个更新的 fiddle

基本上,创建一个通用方法来完成两者的总和

window.totalAll = function()
{
  document.getElementById("total").value = (totalIt() + totalPrisDessert()).toFixed(2) ;
}

关于javascript - 添加所选商品的总价(Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35771808/

相关文章:

javascript - 从 jQuery GET 传递或返回 JSON 对象

php - 将 jQuery.ajax 数据同时发送到表单提交

html - rowspan 不工作 html

javascript - DOM 在 jQuery removeClass 函数后没有更新

javascript - 如何改进我的backbone.js搜索功能?

javascript - 无法将 document.execCommand ('copy' )与输入类型文件一起使用

javascript - 在过滤器管道上使用多个字段| Angular 4

javascript - 使用 Express Js 使用静态 html 页面引导数据

function - Scala 风格 : how far to nest functions?

在 map 中使用局部函数时出现 Python ValueError