不能计算所有输入的和



我需要计算所有输入的总和,并在最后一个输入中显示它。我认为错误是在输入。setAttribute ('class', '.qty1');"。我把课分配错了,也许是我错了。在添加底部脚本之前,一切都工作正常。请帮帮我。

const names = ["Penny", "Howard", "Raj", "Leonard", "Sheldon", "Rajh"]
$(document).on("change", ".qty1", function() {
var sum = 0;
$(".qty1").each(function(){
sum += +$(this).val();
});
$(".total").val(sum);
});
function inputs(){
var form = document.getElementById("myForm");
for(var i=0; i<names.length; i++) {
var label = document.createElement('label');
label.setAttribute('for', names[i]);
label.innerText = names[i];
form.appendChild(label);
var input = document.createElement('input');
input.type = 'text';
input.name = 'myInput_'+i;
input.setAttribute('class', 'qty1');
input.id = 'myInput_' + i;
form.appendChild(input);
}
var input = document.createElement('input');
input.type = 'text';
input.name = 'myInput_';
input.setAttribute('class', 'total');
input.id = 'sum';
form.appendChild(input);  
document.getElementById('sum').disabled = true;  
}
input { display: block; }
input.total { margin-top: 30px; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body onload = "inputs()"></body>
<div id='myForm'></div>

从类名中去掉.,如果是input.setAttribute('class', 'qty1');而不是input.setAttribute('class', '.qty1');

最新更新