我有这个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 ;
它会起作用,但我无法弄明白。我需要在表单字段中添加他们输入的任何数字&#39; yellowtape&#39; to var withDiscount。
答案 0 :(得分:2)
yellowtape
是DOM元素。您需要获取其值并确保它是一个数字:
var yellowtape = parseFloat(document.getElementById('yellowtape').value);
var withDiscount = total + yellowtape - min ;
答案 1 :(得分:0)
如果您首先存储输入值,那么您将使用的是什么:
var yellowtape = document.getElementById('yellowtape').value;
var withDiscount = total + yellowtape - min ;