我如何将一个只读输入字段的值相乘并在另一个字段中显示结果

阿柳:

我有三个输入字段,当您在第一个字段中输入BTC金额时,它会为您提供等价的BTC美元。然后,我添加了一个隐藏的输入字段,该字段包含一个特定值,假设为“ 460”,现在我希望将等价的美元的BTC乘以“ 460”,并在只读输入字段中给出结果。下面的代码演示了我的解释。

$(".form-control").keyup(function() { //input[name='calc']
  let convFrom;
  if ($(this).prop("name") == "btc") {
    convFrom = "btc";
    convTo = "usd";
  } else {
    convFrom = "usd";
    convTo = "btc";
  }
  $.getJSON("https://api.coindesk.com/v1/bpi/currentprice/usd.json",
    function(data) {
      var origAmount = parseFloat($("input[name='" + convFrom + "']").val());
      var exchangeRate = parseInt(data.bpi.USD.rate_float);
      let amount;
      if (convFrom == "btc")
        amount = parseFloat(origAmount * exchangeRate);
      else
        amount = parseFloat(origAmount / exchangeRate);
      $("input[name='" + convTo + "']").val(amount.toFixed(2));
    });
});
<script src="https://stacksnippets.net/scripts/snippet-javascript-console.min.js?v=1"></script>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<form>
  <input type="number" name="btc" class="form-control" id="validationTooltip02" placeholder="BTC">
  <input type="number" name="usd" class="form-control" id="a" onkeyup="add()" placeholder="USD" readonly>

对于乘法,我在USD字段中添加了onkeyup函数,

<script type="text/javascript">
        function add() {
  var x = parseInt(document.getElementById("a").value);
  var y = parseInt(document.getElementById("b").value)
  document.getElementById("c").value = x * y;
}
    </script>

然后尝试通过使用ID将结果收集到字段中 <input name="amount" class="form-control" type="text" placeholder="0.00000" id="c" aria-label="0.00000" readonly>

如果我删除了USD字段中的readonly并直接输入,但当它为readonly时,该字段中的BTC to USD sum的结果不起作用,则此方法有效。我希望我能解释一下。请帮助,因为我不是专家。

永远帮助:

您正在混在一起jQuery并且JS理想情况下坚持在一起以避免混淆。您不需要单独的函数将第三个输入值乘以该second值。

您可以在API调用函数中完成所有这些操作除了获取之外,decimals您还需要toFixed()final第三个输入使用amount

此外,我建议使用更好的用户体验,然后使用.on功能input更好,key-up因为您有input类型编号。您可以increament通过在输入中单击增加来使用数字,新值和总计将立即反映出来,而不用单击或再次键入。

现场工作演示:

$("#validationTooltip02").on('input', function() { //input[name='calc']
  let convFrom;
  if ($(this).prop("name") == "btc") {
    convFrom = "btc";
    convTo = "usd";
  } else {
    convFrom = "usd";
    convTo = "btc";
  }

  $.getJSON("https://api.coindesk.com/v1/bpi/currentprice/usd.json",
    function(data) {
      var origAmount = parseFloat($("input[name='" + convFrom + "']").val());
      var exchangeRate = parseInt(data.bpi.USD.rate_float);
      let amount;
      if (convFrom == "btc")
        amount = parseFloat(origAmount * exchangeRate);
      else
        amount = parseFloat(origAmount / exchangeRate);
      $("input[name='" + convTo + "']").val(amount.toFixed(2));
            
      //Add here
      var a = parseFloat($('#a').val())
      var b = parseFloat($('#b').val())
      var final = a * b//final amount multiplied by 465
      $('#c').val(final.toFixed(2))
    });
});
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://stacksnippets.net/scripts/snippet-javascript-console.min.js?v=1"></script>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<form>
  <input type="number" name="btc" class="form-control" id="validationTooltip02" placeholder="BTC">

  <input type="number" name="usd" class="form-control" id="a" placeholder="USD" readonly>

  <input type="hidden" id="b" value="465">

  <input name="amount" class="form-control" type="text" placeholder="0.00000" id="c" aria-label="0.00000" readonly>
</form>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

计算输入的值并将结果设置在另一个字段中

如何将LIKE语句与另一个字段中的多个值一起使用?

如何使用javascript将一个字段输入值复制到另一个字段输入

如何根据另一个字段的值设置输入字段值?

如何将一个表中的两个字段关联到另一个表中的一个字段

如何将 SQL 查询中一个字段的值用于 Oracle Apex 上另一个字段的值列表?

如何将数组中的值复制到另一个字段然后弹出它?

如何将ElasticSearch字段复制到另一个字段

如何将数据从一个字段复制到SQL Server中不同行中的另一个字段

如何在formik中基于另一个字段设置一个字段的输入值?

如果我知道第一个字段值,如何从模型中获取另一个字段值?

当您在另一个字段中输入值时如何更新表单字段

在另一个字段中显示两个输入字段的相乘结果,并使用jquery对页面上存在的每个其他字段使用相同的代码

如何读取名称在另一个字段中的行字段的值

在一个字段中输入数据并自动更新另一个字段

将setFieldValue用于一个字段,基于另一个字段的值

如何将特定字段的值分配给 Firestore Swift 中同一文档内的另一个字段?

根据另一个字段的值在MongoDB中投影一个字段

检查一个字段的值是否在另一个字段中

使用基于另一个输入字段的值将输入字段设为只读

我如何通过另一个字段模型设置值

Django从另一个表的另一个字段中减去一个字段并保存结果

如何将一个数组字段的长度添加到Mongodb文档中的另一个字段中

需要一个 Elasticsearch 查询,将结果限制为在一个字段中具有相同值但在另一个字段中具有不同值的那些

如何在 Elasticsearch 中对一个字段进行精确匹配并在另一个字段上进行部分匹配?

根据在另一个字段中输入的值自动填充访问中的一个字段

如何使用 FilterUserMixin 过滤 Django 中的一个字段或另一个字段

如何在反应中根据另一个字段更新一个字段?

如何在oracle中按某些字段分组并显示另一个字段的第一个值?