如果复选框被选中,Javascript会减去输入字段的值

Javascript Subtracting Value Of Input Fields If Checkbox Is Checked

本文关键字:输入 字段 Javascript 复选框 如果      更新时间:2023-09-26

我有三个输入都是文本和一个复选框。

我希望它是这样的,如果选中复选框,输入A的值从输入B中减去并显示在输入c中。

我也希望它改变,如果新的数字输入。

基本上

:

1:如果复选框被选中,则从值b中减去值A

2:如果选中了复选框,则按下键从值B中减去值A。

我试过了:

$('#autoCal').change(function () {
  var start = +$("#start").val();
  var end = +$("#end").val();
  $("#result").val(end-start);
  if ($(this).attr("checked")) {
    $("#end").keyup(function(){
      var start = +$("#start").val();
      var end = +$("#end").val();
      $("#result").val(end-start);
      return;
    });
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset data-step="3" data-intro="How many miles did you go? Let us know by filling out this section.">
  <legend>Mileage</legend>
  <label for="oStart"><span>Odometer Start<span class="required">*</span></span><input type="text" name="oStart" class="shortInput" id="start"></label>
  <label for="oEnd"><span>Odometer End<span class="required">*</span></span><input type="text" name="oEnd" class="shortInput" id="end"></label>
  <label for="mileage"><span>Total Miles<span class="required">*</span></span><input type="text" name="mileage" class="shortInput" id="result"></label>
  <label for="autoCal"><span>Auto calculate milage?</span><input type="checkbox" id="autoCal" name="autoCal"></label>
</fieldset>

  • autoCal为复选框。
  • start为a值
  • end为b值
  • result为c值。

我已经修复了无法首先计算的问题。我还在研究自动计算功能。

 $('#autoCal').change(function () {
    var start = +$("#start").val();
    var end = +$("#end").val();
    $("#result").val(Number(end) - Number(start));
    if ($(this)[0].checked) {
        $("#start, #end").keyup(function () {
            var start = +$("#start").val();
            var end = +$("#end").val();
            $("#result").val(end - start);
        });
    };
});

编辑1

这有点怪,但是这个表达式有点错。我已经更新了代码来修复它。(同时添加type="number"到输入,它将不允许字母)

编辑2

我的坏……不过我把一切都修好了。你的表达是正确的,对不起……玩得开心!