javascript - 使用javascript自动计算输入值的总和

标签 javascript function codeigniter input

我需要一些帮助来计算用户输入的数字的总和,并自动显示它。当用户删除一个数字时,总和也应该自动计算。

$('.col-lg-1').change(function() {
  var total = 0;
  $('.col-lg-1').each(function() {
    if ($(this).val() != '') {
      total += parseInt($(this).val());
    }
  });
  $('#result').html(total);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-lg-1">
  <label>TEST 1 </label>

  <input type="hidden" name="section_id" value="<?php echo $section_id; ?>">
  <input type="hidden" name="session_id" value="<?php echo $session_id; ?>">
  <input type="hidden" name="student_id" value="<?php echo $student_id; ?>">
  <input type="hidden" name="class_id" value="<?php echo $class_id; ?>">
  <input type="number" name="mt_ca1" class="form-control input-sm rounded-0" required>
</div>
<div class="col-lg-1" id="t2">
  <label>TEST 2</label>
  <input type="number" name="mt_ca2" class="form-control input-sm rounded-0" required>
</div>
<div class="col-lg-1" id="assg">
  <label>TEST 3</label>
  <input type="number" name="mt_ca3" class="form-control input-sm rounded-0" required>
</div>
<div class="col-lg-1">
  <label>TOTAL</label>
  <output id="result"></output>
</div>

最佳答案

快到了。您的目标是 '.col-lg-1' ,它们是 div,而不是输入。您需要定位输入才能读取它们的值。

const $inputs = $('input[type="number"]')

$inputs.change(function() {
  var total = 0;
  $inputs.each(function() {
    if ($(this).val() != '') {
      total += parseInt($(this).val());
    }
  });
  $('#result').html(total);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-lg-1">
  <label>TEST 1 </label>

  <input type="hidden" name="section_id" value="<?php echo $section_id; ?>">
  <input type="hidden" name="session_id" value="<?php echo $session_id; ?>">
  <input type="hidden" name="student_id" value="<?php echo $student_id; ?>">
  <input type="hidden" name="class_id" value="<?php echo $class_id; ?>">
  <input type="number" name="mt_ca1" class="form-control input-sm rounded-0" required>
</div>
<div class="col-lg-1" id="t2">
  <label>TEST 2</label>
  <input type="number" name="mt_ca2" class="form-control input-sm rounded-0" required>
</div>
<div class="col-lg-1" id="assg">
  <label>TEST 3</label>
  <input type="number" name="mt_ca3" class="form-control input-sm rounded-0" required>
</div>
<div class="col-lg-1">
  <label>TOTAL</label>
  <output id="result"></output>
</div>

关于javascript - 使用javascript自动计算输入值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59790787/

相关文章:

使用 Doctrine 和 CodeIgniter 进行 MySQL 查询

javascript - KnockoutJS - 基本模型架构

javascript - 我写的这段代码有什么问题吗?

javascript - 在 JavaScript 中正确使用可选参数

javascript - .双数组中的过滤器

javascript - Codeigniter:使用按钮单击查看数据库中的更多数据

php - 如何使用 codeigniter 优化 activerecords?

javascript - jQuery - 在ajax调用后重定向

javascript - 向管理输入和文本区域添加字符数

javascript - jquery ajax 异步没有相应地工作