Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t让Jquery将函数的输出写入html_Javascript_Jquery_Html - Fatal编程技术网

Javascript Can';t让Jquery将函数的输出写入html

Javascript Can';t让Jquery将函数的输出写入html,javascript,jquery,html,Javascript,Jquery,Html,新来的家伙。我觉得这是一个非常基本的问题,但我无法让Jquery代码将函数的输出写入html并显示出来。我相信这是脚本的问题,但不确定我是否在html上也做了一些错误的事情 此函数的目标是创建一个计算器,根据用户输入的内容给出未来的投资价值。当我单击submit时,它会将所有html更改为仅显示“NaN”,但现在当我单击submit按钮时,它会清除输入框,但不会给我任何数字或任何答案,即使我相信我已将其设置为将数字显示为 HTML <body> <div id = "f

新来的家伙。我觉得这是一个非常基本的问题,但我无法让Jquery代码将函数的输出写入html并显示出来。我相信这是脚本的问题,但不确定我是否在html上也做了一些错误的事情

此函数的目标是创建一个计算器,根据用户输入的内容给出未来的投资价值。当我单击submit时,它会将所有html更改为仅显示“NaN”,但现在当我单击submit按钮时,它会清除输入框,但不会给我任何数字或任何答案,即使我相信我已将其设置为将数字显示为

HTML

<body>
    <div id = "futurevalue">
        <form>
            <input type="radio" name="formula" value="future_investment" checked>Future Investment<br>
            <label for="princeple">Enter the princeple amount invested:</label>
            <input id="princeple" type="number" name="princeple" step="0.01"><br>
            <label for="time">Enter how long the investment will be for (in years):</label>
            <input id='time' type='number' name='time'><br>
            <label for='rate'>Enter the expected interest rate:</label>
            <input id='rate' type="number" name='rate'><br>
            <input id='submit' type='submit' name='submit'>
        </form>
        <p>Total:</p>
        <p id='result'></p>
    </div>
以下是您的解决方案:

$(“#提交”)。单击(函数(){
var princeple=parseInt($('#princeple').val();
var-time=parseInt($('#time').val();
var rate=parseFloat($('#rate').val()/100);
var输出=((原理*速率)*时间);
$('#result').html(输出);
//防止重新加载页面
返回false;
});

未来投资
输入主要投资金额:
输入投资期限(以年为单位):
输入预期利率:
总数:


尝试以下代码,基本上您需要: 在cb中计算变量,然后在div中输出结果
#result
。使用
.val
获取输入值,使用
event.preventDefault()
避免表单提交(这是浏览器的默认行为)

$(“#提交”)。单击(函数(事件){
var princeple=parseInt($('#princeple').val(),10);
var-time=parseInt($('#time').val(),10);
var rate=parseInt($('#rate').val(),10);
var输出=(原则*时间+比率);
$('#result').html(输出);
event.preventDefault();
});

未来投资
输入主要投资金额:
输入投资期限(以年为单位):
输入预期利率:
总数:


用于获取输入值。这在堆栈溢出时的代码段中有效,但由于某些原因,当我在live preview的文档中尝试它时,它将不起作用。它还是一无所获。我甚至一个字母一个字母地复制粘贴。我唯一添加到jQuery代码中的是$(document).ready(function(){});并将您给我的所有代码都包含在{}of函数中。您是否可以创建一个JSFIDLE或plunkr并检查我所做的,结果很奇怪。我看到您添加了/100,并稍微更改了输出。但一旦我把它们恢复到正常状态,我仍然会收到奇怪的值。/100代表利率,因为利率是百分比,要计算利息,你需要将这三个参数相乘。是的,我理解。但我只是首先做了一个非常简单的等式,以确保我能够得到输出。等式是简单的部分,让jQuery打印成html对我来说是困难的部分。这很有效!谢谢现在是时候弄清楚如何让它在最终输出中计算小数而不进行舍入了。@AKA在我的代码中,我在click回调中计算变量,然后在div#result中输出结果。在原始问题中,计算onclick之外的变量。我希望有帮助:)
 $('#submit').click(function(){
    $('#result').html(function(){
        return toString(output,10);
    });
});
var princeple = parseInt($('#princeple'),10);  
var time = parseInt($('#time'),10);
var rate = parseInt($('#rate'),10);
var output = (princeple * time + rate);