Javascript 从函数返回值并使用它

Javascript 从函数返回值并使用它,javascript,function,return,Javascript,Function,Return,我试图从一个函数中获取一个值,然后在其他函数中使用它,但我无法做到这一点 第一个函数unidadesTotalCalculate从两个输入获取值,然后将它们相乘并打印到一个元素 同一个函数使用不同的元素运行3次,然后我需要对这三个元素的结果求和,并将其打印到另一个元素。这是第二个函数totalBarUpdateStandard() 你能帮我弄清楚发生了什么事吗?我无法从每个函数中获取值并使用它 function unidadesTotalCalculate(unidadeID, rangeID

我试图从一个函数中获取一个值,然后在其他函数中使用它,但我无法做到这一点

第一个函数unidadesTotalCalculate从两个输入获取值,然后将它们相乘并打印到一个元素

同一个函数使用不同的元素运行3次,然后我需要对这三个元素的结果求和,并将其打印到另一个元素。这是第二个函数totalBarUpdateStandard()

你能帮我弄清楚发生了什么事吗?我无法从每个函数中获取值并使用它

 function unidadesTotalCalculate(unidadeID, rangeID, print) {
        var value = unidadeID.val();
        var rangevalue = rangeID.val();

        var valueSUM = value * rangevalue;

        jQuery(print).text(valueSUM + '€');
        return valueSUM;

    }


 function totalBarUpdateStandard() {
        var value1 = unidadesTotalCalculate(jQuery('#doenteagudo-standard-dialise-unidades'), jQuery('#doenteagudo-standard-dialise-range'), '#doenteagudo-standard-dialise-total');
        var value2 = unidadesTotalCalculate(jQuery('#doenteagudo-standard-plasma-unidades'), jQuery('#doenteagudo-standard-plasma-range'), '#doenteagudo-standard-plasma-total');
        var value3 = unidadesTotalCalculate(jQuery('#doenteagudo-standard-plasmaferese-unidades'), jQuery('#doenteagudo-standard-plasmaferese-range'), '#doenteagudo-standard-plasmaferese-total');

        var valueTotal = value1 + value2 + value3;

        jQuery('#demo').text(valueTotal + '€');


    }
应该使用jQuery的val()方法来获取字段的值


谢谢

下面是一个针对您的场景的解决方案,希望它能帮助您,我认为
jQuery(print).text(valueSUM+'€')是您的问题的原因。。。它应该是jQuery(print).val(valueSUM+'€')。。只需将其放在静态HTML中并进行测试

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<input id="doenteagudo-standard-dialise-unidades" value="2" />
<input id="doenteagudo-standard-dialise-range"  value="2"/>
<input id="doenteagudo-standard-dialise-total" />

<input id="doenteagudo-standard-plasma-unidades" value="2" />
<input id="doenteagudo-standard-plasma-range" value="2"/>
<input id="doenteagudo-standard-plasma-total" />


<input id="doenteagudo-standard-plasmaferese-unidades" value="2" />
<input id="doenteagudo-standard-plasmaferese-range" value="2" />
<input id="doenteagudo-standard-plasmaferese-total" />

<div id="demo"></div>

<button id="t"></button>

<script>
function unidadesTotalCalculate(unidadeID, rangeID, print) {
        var value = unidadeID.val();
        var rangevalue = rangeID.val();

        var valueSUM = value * rangevalue;

        jQuery(print).val(valueSUM + '€');
        return valueSUM;

    }


 function totalBarUpdateStandard() {
        var value1 = unidadesTotalCalculate(jQuery('#doenteagudo-standard-dialise-unidades'), jQuery('#doenteagudo-standard-dialise-range'), '#doenteagudo-standard-dialise-total');
        var value2 = unidadesTotalCalculate(jQuery('#doenteagudo-standard-plasma-unidades'), jQuery('#doenteagudo-standard-plasma-range'), '#doenteagudo-standard-plasma-total');
        var value3 = unidadesTotalCalculate(jQuery('#doenteagudo-standard-plasmaferese-unidades'), jQuery('#doenteagudo-standard-plasmaferese-range'), '#doenteagudo-standard-plasmaferese-total');
//console.log(value1);
//console.log(value2);
//console.log(value3);
        var valueTotal = value1 + value2 + value3;

        jQuery('#demo').text(valueTotal + '€');


    }


    </script>
</body>
</html>

函数unidadesTotalCalculate(unidadeID、rangeID、print){
var value=unidadeID.val();
var rangevalue=rangeID.val();
var valueSUM=值*范围值;
jQuery(print).val(valueSUM+“€”);
返回值总和;
}
函数totalBarUpdateStandard(){
var value1=unidadesTotalCalculate(jQuery('doenteagudo标准拨号unidades')、jQuery('doenteagudo标准拨号范围')、doenteagudo标准拨号总计');
var value2=unidadesTotalCalculate(jQuery('doenteagudo标准血浆unidades')、jQuery('doenteagudo标准血浆范围')、'doenteagudo标准血浆总量');
var value3=unidadesTotalCalculate(jQuery('Doentegudo standard plasmaferese unidades')、jQuery('Doentegudo standard plasmaferese range')、'Doentegudo standard plasmaferese total');
//console.log(value1);
//console.log(value2);
//console.log(value3);
var valueTotal=value1+value2+value3;
jQuery(“#demo”).text(valueTotal+'€');
}

您告诉了我们应该发生什么,但没有告诉我们实际发生了什么。HTML是什么样子的?控制台上显示哪些消息?你做了什么来调试代码?您添加了
console.log
语句来跟踪代码中的值了吗?我已经使用
document.getElementById(“demo”)将其打印到元素demo中。innerHTML=unidadesTotalCalculate(jQuery('doenteagudo standard dialise unidades')、jQuery('doenteagudo standard dialise range')、'doenteagudo standard dialise total')但它没有打印任何东西,这让我们回到我问的所有其他问题。您是否检查了
jQuery('#demo')
是否与页面上的元素匹配?你需要给我们看一个完整的简化版本。@msoliman的回答确实帮助了我,但我也犯了一个错误,没有调用函数,所以,双重麻烦,但现在解决了。我也犯了一个错误,没有调用函数,所以,双重麻烦,但现在解决了。