2

我有这个 JavaScript,它将一系列数字相加并创建一个总数。然后从这一系列数字中找到最低的数字并将其从总数中减去。我希望用户能够输入一个数值并将该数字作为等式的一部分。首先,我会给你我的代码,然后我会告诉你我尝试了什么。

这是执行加法和减法的脚本:

var prices = [];
function remove(arr,itm){
  var indx = arr.indexOf(itm);
  if (indx !== -1){
    arr.splice(indx,1);
  }
}

function calculateSectedDues(checkbox, amount) {
  if (checkbox.checked === true) {
    prices.push(amount);
  } else {
    remove(prices, amount);
  }
  var total = 0;
  for (var i = 0, len = prices.length; i < len; i++)
    total += prices[i];

  var min = prices.slice().sort(function(a,b){return a-b})[0];
  if(typeof min === 'undefined') min = 0;
  var withDiscount = total - min;
  var discountAmount = withDiscount - total;
  document.querySelector("#total").innerHTML = total;
  document.querySelector("#discount").innerHTML = discountAmount;
  document.querySelector("#newTotal").innerHTML = withDiscount;
  document.getElementById("FinalTotal").value = withDiscount;
}

这是我创建的表单字段,我想将其纳入方程式:

<input name="yellowtape" type="text" id="yellowtape" style="width:243px;">

我想通过添加:

var withDiscount = total + yellowtape - min ;

它会起作用,但我无法弄清楚。我需要将他们在表单字段“yellowtape”中输入的任何数字添加到 var withDiscount。

4

2 回答 2

2

yellowtape是 DOM 元素。您需要获取它的值并确保它是一个数字:

var yellowtape = parseFloat(document.getElementById('yellowtape').value);
var withDiscount = total + yellowtape - min ;
于 2013-05-01T15:38:00.077 回答
0

如果您首先存储输入值,您所拥有的将起作用:

var yellowtape = document.getElementById('yellowtape').value;
var withDiscount = total + yellowtape - min ;
于 2013-05-01T15:37:09.627 回答