使用html表单的jquery中的简单销售税计算器不起作用

时间:2017-11-10 19:19:28

标签: jquery

这是使用jQuery进行赋值的第一步。据我所知,该程序应该将一个函数onload附加到按下"计算"。单击该按钮时,应执行processEntries函数。 processEntries采用id' s" subtotal"的值。和" tax_rate",parseFloat它们,并将它们分配给新变量。然后,它使用这些变量计算Sales_tax和Total,并将这些变量反馈到id" sales_tax和" total" ...但它没有这样做。



var $ = function(id) {
  return document.getElementById(id);
};

window.onload = function() {
  $("calculate").onclick = processEntries();
};

function processEntries() {
  var subTotal = parseFloat($("subtotal").value);
  var taxRate = parseFloat($("tax_rate").value);

  if (taxRate > 0) {
    taxRate /= 100;
  }
  var Sales_tax = subTotal * taxRate;

  var Total = subTotal * (taxRate + 1);

  $("sales_tax").value = Sales_tax;
  $("total").value = Total;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<main>
  <h1>Sales Tax Calculator</h1>
  <p>Enter Subtotal and Tax Rate and click "Calculate".</p>
  <label for="subtotal">Subtotal:</label>
  <input type="text" id="subtotal"><br>

  <label for="tax_rate">Tax Rate:</label>
  <input type="text" id="tax_rate"><br>

  <label for="sales_tax">Sales Tax:</label>
  <input type="text" id="sales_tax" disabled><br>

  <label for="total">Total:</label>
  <input type="text" id="total" disabled><br>

  <label>&nbsp;</label>
  <input type="button" id="calculate" value="Calculate">
  <input type="button" id="clear" value="Clear"><br>
</main>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

.value是一个vanilla javascript属性。要在jquery对象上设置值,可以使用.val(newValue)。虽然$('sales_tax')$('total')也是无效选择器。您需要在它们的开头放置#以使它们成为id查找。对于尝试按id查找元素的其他查找也是如此。

答案 1 :(得分:0)

代码中几乎没有基本错误。

要选择具有ID的元素,您需要将jquery选择器用作$(&#39;#yourid&#39;);

并为其分配任何值使用jquery的val()方法。

window.onload = function() {
      $("#calculate").on('click', processEntries);
    };

    function processEntries() {
      var subTotal = parseFloat($("#subtotal").val());
      var taxRate = parseFloat($("#tax_rate").val());

      if (taxRate > 0) {
        taxRate /= 100;
      }
      var Sales_tax = subTotal * taxRate;

      var Total = subTotal * (taxRate + 1);

      $("#sales_tax").val(Sales_tax);
      $("#total").val(Total);