尝试从不同输入求和/休息时错误的结果

时间:2017-04-24 21:21:05

标签: javascript jquery

我试图从两个不同的值得到一个结果(在sum / rest之后),例如我有一个Total var = 500然后我有two inputs... one for MXN and the other for USD, I also have a USD var = 17.5我想要做的就是当我输入两个输入上的数字(MXN或USD)显示一笔金额(收到的金额)和休息金额(如果收到的金额超过500或我的总价值,则更改),此时我有此代码,但是只为一个输入而不是两个输入工作,我该如何解决这个问题?

这是working example

修改

现在我得到了两个投入按预期工作,但知道我正面临另一个问题......我有一个标签显示变化值(当收到的钱>总计)和一个显示收到的钱< =总计。

例如......总计= 500,收到= 450,我的标签需要显示我需要:50美元,但如果我的总数= 500,收到= 600我需要显示:更改:100美元

但是这是我的代码:

$(document).ready(function() {
  
  var dolar = 17.50;
  
  $('#Total').on('keyup', function() {
    var valor = $(this).val();
    
    if (valor == "") {
      $('#TotalLbl').text("$00.00");
    } else {
      $('#TotalLbl').text("Total: $" + parseFloat(valor).toFixed(2));
    }
  });
  
  $('#MXN').on('keyup', function() {
    var valor = $(this).val();

    if (valor == "") {
      $('#Received').text("$00.00");
    } else {
      $('#Received').text("Received: $" + parseFloat(valor).toFixed(2));
      var falta = ($('#Total').val() - valor);
      $('#INeedThisTo0').text("Change: $" + parseFloat(falta).toFixed(2));
    }
  });

  $('#USD').on('keyup', function() {
    var valor = $(this).val() * dolar;
    if (valor == "") {
      $('#Received').text("$00.00");
    } else {
      $('#Received').text("Received: $" + parseFloat(valor).toFixed(2));
      var falta = ($('#Total').val() - valor);
      $('#INeedThisTo0').text("Change: $" + parseFloat(falta).toFixed(2));
    }
  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<input placeholder="Total.." type="number" id="Total" />

<input placeholder="MXN.." type="number" id="MXN" />

<input placeholder="USD.." type="number" id="USD" />

<br>

<label id="TotalLbl"></label>

<label id="Received"></label>

<label id="INeedThisTo0"></label>

<label id="Change"></label>

1 个答案:

答案 0 :(得分:0)

$('#USD').on('keyup', function() {
var valor =( $(this).val() * dolar)+$('MXN').val();

$('#MXN').on('keyup', function() {
var valor = $(this).val()+($('USD').val()*dolar);

将两个函数中的valor值转换为此