【问题标题】:Adding / Subtracting numbers automatically using JQuery cannot subtract properly使用 JQuery 自动添加/减去数字无法正确减去
【发布时间】:2018-09-29 08:06:04
【问题描述】:

我创建了一个表单,其中数字必须根据给定的输入自动添加/替换,所有 adding 部分都是正确的,就像我想要实现的那样,但是如果我删除数字,那么它会在总字段中留下 1每当数据也不存在时,并且如果我一次删除所有数字但它不会减去。

你可以从下面看到,对不起我的英语不好。

注意:1.输入一个数字并删除1 by 1,然后检查总数(不可编辑)。 2.输入数字,选择所有数字并删除然后检查总数,你就会明白我的问题。

$(document).on('input change blur', '.input_first, .input_second', updateSchedule);

function updateSchedule() {
  var sum = 0, sum1 = 0, total = 0;
  $('.input_first, .input_second').each(function(i) {
    if (!isNaN(this.value) && this.value.length != 0) {
      if ($(this).hasClass('input_first')) {
        sum += parseFloat(this.value);
        $('#first_total').val(sum.toFixed(2));
        $('#all_total').val(sum.toFixed(2));
      } else if($(this).hasClass('input_second')) {
        sum1 += parseFloat(this.value);
        $('#second_total').val(sum1.toFixed(2));
        total = parseFloat(sum + sum1);
        $('#all_total').val(total.toFixed(2));
      }
    }
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    1st data<br>
    <input type="number" class="input_first" placeholder="enter">
    <input type="number" class="input_first" placeholder="enter">
    <input type="number" readonly id="first_total">
    <hr>

    2nd Data<br>
    <input type="number" class="input_second" placeholder="enter">
    <input type="number" class="input_second" placeholder="enter">
    <input type="number" readonly id="second_total">
    <hr>

    Total all<br>
    <input type="number" readonly id="all_total">

【问题讨论】:

    标签: javascript jquery html numbers


    【解决方案1】:

    我认为你应该对你当前的功能执行else statement

    function updateSchedule() {
      var sum = 0, sum1 = 0, total = 0;
      $('.input_first, .input_second').each(function(i) {
        if (!isNaN(this.value) && this.value.length != 0) {
          .....
        }else{
           //todo clear the total field
           $('#all_total').val(0.00);
        }
      });
    }
    

    每次有Nan 时清除总字段,最好将其保存为zero 0

    【讨论】:

    • 在另一个页面中,我使用相同的格式来添加/子编号,但前提是条件(在父级 if,而不是 elseif 内)然后一切正常,请尝试您的建议
    • 它正在工作,但不像我预期的那样,它是在仅输入所有字段数据之后计算的。这不是我想要实现的目标
    猜你喜欢
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 2021-01-10
    相关资源
    最近更新 更多