Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无需单击任何按钮即可自动计算_Javascript_Jquery - Fatal编程技术网

Javascript 无需单击任何按钮即可自动计算

Javascript 无需单击任何按钮即可自动计算,javascript,jquery,Javascript,Jquery,嗨,我是编程新手,我面临一个问题 我有3个输入值和1个输入总数。我需要的是,当我更改任何输入中的值时,总计应自动更改 <input type="text" name="Amt" id="amount" class="form-control" /> <input type="text" name="Amt" id="amount" class="form-control" /> <input type="text" name="Amt" id="amount" cl

嗨,我是编程新手,我面临一个问题

我有3个输入值和1个输入总数。我需要的是,当我更改任何输入中的值时,总计应自动更改

<input type="text" name="Amt" id="amount" class="form-control" />
<input type="text" name="Amt" id="amount" class="form-control" />
<input type="text" name="Amt" id="amount" class="form-control" />

我总共有:

<input type="text" class="form-control" name="total" id="total" value="" />

下面是脚本:

<script type="text/javascript">
    $('#amount').change(function() {
        $('#total').attr('value', function() {
            var result = 0;
            $('#amount').each(function() {
                result += $(this).attr('value');
            });
            return result;
        });
    });
</script>

$('#amount')。更改(函数(){
$('#total').attr('value',function()){
var结果=0;
$(“#金额”)。每个(函数(){
结果+=$(this.attr('value');
});
返回结果;
});
});

对于
金额
您有多个ID。这些应该改为类。此外,jQuery会将每个金额的值作为字符串提取出来,因此需要将其更改为整数:

$('.amount').change(function () {
  var result = 0;
  $('.amount').each(function () {
    result += +$(this).val();
  });
  $('#total').val(result);
});

.

ID必须是唯一的,您不能有多个具有相同ID的项目并期望它正常工作……作为第一个更改,请使ID唯一,并使用
.val()
而不是
.attr()
。不要忘了将答案标记为正确,以帮助将来的网站访问者。