微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

动态计算 2 个输入的总和 - Javascript

如何解决动态计算 2 个输入的总和 - Javascript

我有 2 个简单的输入和一个应该显示总和的 div:

我希望结果是动态的,所以每次更改数字时,结果都会更新。

我尝试设置一个数组 let numbers = [],并在数据发生变化后推送。但它会推送新数据,而不是或擦除它。

let ssp = document.getElementById('ss-p')
let pc = document.getElementById('pc')
let rc1 = document.getElementById('rc1')

let numbers = []

ssp.addEventListener('change',() => {
    numbers.push(ssp.value)
    console.log(numbers)
})

pc.addEventListener('change',() => {
    numbers.push(pc.value)
    console.log(numbers)
})
<div>
   <label for="ss-p">Remboursement de la sécurité sociale (en %) :</label>
   <input type="text" id="ss-p" name="ss-p">
</div>

<div>
   <label for="pc">Prix de la consultation (en €) :</label>
   <input type="text" id="pc" name="pc">
</div>

<div>
   <p for="rc1">Reste à charge (100%) :</p>
   <div id="rc1"></div>
</div>

有什么帮助吗?

解决方法

试试这个

<html>
       <head>
       <script>
     function calculateSum(){
     var val_1 = parseInt(document.getElementById("ss-p").value===""?0:document.getElementById("ss-p").value);
     var val_2 = parseInt(document.getElementById("pc").value===""?0:document.getElementById("pc").value);
        document.getElementById("rc1").innerText = val_1 + val_2;
     }
        
       </script>
       </head>
       <body onload="onload();">
            <div>
   <label for="ss-p">Remboursement de la sécurité sociale (en %) :</label>
   <input type="text" id="ss-p" name="ss-p"  onkeyup="calculateSum()">
</div>

<div>
   <label for="pc">Prix de la consultation (en €) :</label>
   <input type="text" id="pc" name="pc" onkeyup="calculateSum()">
</div>

<div>
   <p for="rc1">Reste à charge (100%) :</p>
   <div id="rc1"></div>
</div>
       </body>
  </html>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。