我有一个简单的HTML表单。共有3个部分(A,B和C部分)。当用户填写表格时,通过显示总点数和百分比来计算每个部分。我想对分数进行排名并将其显示在排名列中,但似乎无法弄清楚该如何做。例如,如果A区有4分,B区有3分,C区有0分,则A区的等级为1,B区的等级为2,C区的等级为3。理想的是在填写表格时进行排名更改。
我是JavaScript的新手,但在逻辑上实现此方法时遇到麻烦。这只是我表格的一个示例。我确实有一个更大的表格,其中包含更多的部分和问题。请运行我的代码,以便您可以看到更好的视觉效果。任何对我有帮助的代码片段和建议将不胜感激。
我曾尝试在JavaScript中使用if语句,但就像我说过的那样,我不能全神贯注于如何逻辑地做到这一点。
function calcA1R() {
var Aa1 = document.getElementById('Aa1');
var Ab1 = document.getElementById('Ab1');
var Ac1 = document.getElementById('Ac1');
var Aa1Val = Aa1.options[Aa1.selectedIndex].value;
var Ab1Val = Ab1.options[Ab1.selectedIndex].value;
var Ac1Val = Ac1.options[Ac1.selectedIndex].value;
// returning the sum of the values
return [parseInt(Aa1Val), parseInt(Ab1Val), parseInt(Ac1Val)].reduce((a, c) => a + c, 0)
}
function calcA1() {
displaySumA()
}
function displaySumA() {
document.getElementById('totalA').textContent = calcSumA()
document.getElementById('TotalASummary').textContent = calcSumA()
document.getElementById('TotalAPercent').textContent = Math.ceil(calcSumA() / 4 * 100) +'%'
}
function calcSumA() {
return calcA1R()
}
function calcB1R() { …Run Code Online (Sandbox Code Playgroud)