Javascript计算即时

时间:2018-03-14 09:38:08

标签: javascript calculation

我是JS的初学者,并试图通过自我学习。我希望我不会在这里受到冲击,但Stackoverflow仍然可以提问。

我有这个代码用于计算,它的工作原理。但我想改变提示输入并使用提交按钮在其他输入上显示结果。

或者!如果计算在用户输入数字时动态发生,那将会是多么令人惊讶(我甚至不确定这是否可行。)

提前感谢,这是我迄今为止的JS代码:

var incomePerYear = prompt("Income per year: ");

var perYear = parseFloat(((incomePerYear) * 1 / 100) - (incomePerYear * 6 / 1000));

var perMonth = parseFloat(perYear / 12);

document.write("Income per year: " + perYear.toLocaleString('se') + "<br>");

document.write("Income per month: " + perMonth.toFixed(4));

2 个答案:

答案 0 :(得分:0)

您可以使用事件onkeyup进行即时计算。

BTW,parseFloat对于一个数字来说是多余的。

function calculate(incomePerYear) {
    var perYear = incomePerYear / 100 - incomePerYear * 6 / 1000,
        perMonth = perYear / 12;

    document.getElementById('year').innerHTML = perYear.toLocaleString('se');
    document.getElementById('month').innerHTML = perMonth.toFixed(4);
}
<p>Income per year: <input onkeyup="calculate(this.value)" type="text"></p>
<p>Income per year: <span id="year"></span></p>
<p>Income per month: <span id="month"></span></p>

答案 1 :(得分:0)

你可以试试这个。可能需要验证输入以确保其编号。

<input type="text" id="incomeperyear">
<div id="perYear"></div>
<div id="perMonth"></div>

<script type="text/javascript">
    $(function(){

             $('#incomeperyear').on('focus keyup change', function(){
              var incomePerYear = $(this).val();
              var perYear = parseFloat(((incomePerYear) * 1 / 100) - (incomePerYear * 6 / 1000));
              var perMonth = parseFloat(perYear / 12);
              $("#perYear").text('perYear :'+' '+perYear.toLocaleString('se'));
              $("#perMonth").text('perMonth :'+' '+perMonth.toFixed(4));

        });
        })
</script>

即使您将数字复制到其他地方也可以。

https://jsfiddle.net/c982myft/