我试图从具有不同元素ID的用户那里获取多个输入,并通过一个if else函数运行它们。这是我的代码:
输入课程1的成绩和学分数:
<input type="text" id="lettergrade1" onchange="lettergrade[0]=numgrade(this.value)";>
<input type="text" id="credithour1" onchange="credhour[0]";>
等...这延伸到lettergrade 5.我必须通过函数numgrade运行它们(不使用for循环)。如何通过相同的if else构造运行这些而不制作5个不同的构造(如何制作一个适用于5个不同id的语句)?
答案 0 :(得分:0)
遍历元素并将它们绑定到onchange回调:
var $ = document;
var lettergrade = [];
[].slice.call($.querySelectorAll('.lettergrade')).forEach(function(el, index) {
el.onchange = function() {
numgrade(index, this.value);
}
});
function numgrade(index, value) {
lettergrade[index] = value;
$.getElementById('output').innerText = JSON.stringify(lettergrade);
}
&#13;
<input type="text" class="lettergrade" id="lettergrade1" placeholder="1">
<input type="text" class="lettergrade" id="lettergrade2" placeholder="2">
<input type="text" class="lettergrade" id="lettergrade3" placeholder="3">
<input type="text" class="lettergrade" id="lettergrade4" placeholder="4">
<input type="text" class="lettergrade" id="lettergrade5" placeholder="5">
<output id="output"></output>
&#13;