Javascript 尝试访问另一个函数上的值
我试图从另一个函数中获取一个值,但它通过在html的body标记中加载函数getSummary()的方式,在span标记上不断显示一个NaNJavascript 尝试访问另一个函数上的值,javascript,jquery,html,Javascript,Jquery,Html,我试图从另一个函数中获取一个值,但它通过在html的body标记中加载函数getSummary()的方式,在span标记上不断显示一个NaN function calculate(){ var coke = document.getElementById('drinks-coke').value; var royal = document.getElementById('drinks-royal').value; var sprite = document.getElem
function calculate(){
var coke = document.getElementById('drinks-coke').value;
var royal = document.getElementById('drinks-royal').value;
var sprite = document.getElementById('drinks-sprite').value;
var drink1 = coke * 35;
var drink2 = royal * 35;
var drink3 = sprite * 35;
// "totaldrinks":
var totald = document.getElementById("total-drinks").innerHTML = drink1+drink2+drink3;
}
function calculateAddons(){
var rice1 = document.getElementById('addons-rice').value;
var sauce1 = document.getElementById('addons-sauce').value;
var protein1 = document.getElementById('addons-protein').value;
var vegies1= document.getElementById('addons-vegies').value;
var addon1 = rice1 * 20;
var addon2 = sauce1 * 30;
var addon3 = protein1 * 70;
var addon4 = vegies1 * 50;
// "totaladdons":
var totala = document.getElementById("total-addons").innerHTML = addon1+addon2+addon3+addon4;
}
function getSummary() {
var riceData = document.getElementById("ricingbowlfinal").getAttribute("value");
var deliveryData = document.getElementById("deliverycharge").getAttribute("value")
var totalbill = parseInt(riceData) + parseInt(deliveryData);
var totaldr = calculateAddons("totala")
var totalad = calculate("totald")
document.getElementById("summarys").innerHTML = totalbill + totaldr + totalad;
}
如果只需要(例如)计算中的一个值,请将其更改为返回值:
function calculate(){
var coke = document.getElementById('drinks-coke').value;
var royal = document.getElementById('drinks-royal').value;
var sprite = document.getElementById('drinks-sprite').value;
var drink1 = coke * 35;
var drink2 = royal * 35;
var drink3 = sprite * 35;
// "totaldrinks":
var totald = document.getElementById("total-drinks").innerHTML = drink1+drink2+drink3;
return totald;
}
然后调用代码可以通过以下方式获得该值:
var total = calculate();
Calculate()和CALCULATEADONS()中缺少return语句 这是你的解决方案
function calculate(){
var coke = document.getElementById('drinks-coke').value;
var royal = document.getElementById('drinks-royal').value;
var sprite = document.getElementById('drinks-sprite').value;
var drink1 = coke * 35;
var drink2 = royal * 35;
var drink3 = sprite * 35;
// "totaldrinks":
var totald = document.getElementById("total-drinks").innerHTML = drink1+drink2+drink3;
return totald;
}
function calculateAddons(){
var rice1 = document.getElementById('addons-rice').value;
var sauce1 = document.getElementById('addons-sauce').value;
var protein1 = document.getElementById('addons-protein').value;
var vegies1= document.getElementById('addons-vegies').value;
var addon1 = rice1 * 20;
var addon2 = sauce1 * 30;
var addon3 = protein1 * 70;
var addon4 = vegies1 * 50;
// "totaladdons":
var totala = document.getElementById("total-addons").innerHTML = addon1+addon2+addon3+addon4;
return totala;
}
function getSummary() {
var riceData = document.getElementById("ricingbowlfinal").getAttribute("value");
var deliveryData = document.getElementById("deliverycharge").getAttribute("value")
var totalbill = parseInt(riceData) + parseInt(deliveryData);
var totaldr = calculateAddons("totala")
var totalad = calculate("totald")
document.getElementById("summarys").innerHTML = totalbill + totaldr + totalad;
}
您需要一个返回值并修复如何调用函数。在调用函数时将字符串传递给函数,但这是不必要的
function calculate(){
//...
// "totaldrinks":
var totald = document.getElementById("total-drinks").innerHTML = drink1+drink2+drink3;
return totald;
}
function getSummary() {
var riceData = document.getElementById("ricingbowlfinal").getAttribute("value");
//...
var totalad = calculate()
document.getElementById("summarys").innerHTML = totalbill + totaldr + totalad;
}
应该可以了。前两个函数没有返回任何内容。@RajaprabhuAravindasamy你能帮我吗?
返回totald代码>,返回totala代码>-真的不难;)