0

我对我的 JavaScript 代码有疑问(我对此很陌生……)。我正在做一个测试,我将使用他们的答案计算参与者的分数。我有多个变量来存储这些答案。并且分数的计算也正常。然后我有一个分数表。就是这样:

<script type="text/javascript">
var row1col1var="Fruit";
var rowicol2var="% of how much I love them";
var applep=34; //result from score calcultaion
var row2col1var="Apple";
var bananasp=65; //result from score calcultaion
var row3col1var="Bananas";
document.write('<center><table width="50%" border="0">');
document.write('<tr align="center"><td>' + row1col1var + '<\/td><td>' + rowicol2var + '<\/td><\/tr>');
document.write('<tr align="center"><td>' + row2col1var + '<\/td><td' + applep + "%" + '<\/td><\/tr>');
document.write('<tr align="center"><td>' + row3col1var + '<\/td><td' + bananasp + "%" +'<\/td><\/tr>'); 
document.write('<\/table><\/center>'); </script>

在这里,我在表格中显示每个“水果”的结果。我无法开始工作的是:我想选出最好的分数(在本例中为 Bananas 为 65)并显示:“你最喜欢 Bananas。” (即链接 65 到 Bananas 并显示 Bananas)。我试图给单元格一个名为 Apples 或 Bananas 的 id 并调用 id 来显示它,但这不起作用。

我的问题分为两部分: 1. 我无法让 math.max 处理变量。2.我不知道如何将最高分与它的“名称”联系起来(即65属于香蕉)。

我希望你能帮帮我!!

4

1 回答 1

0

您需要使用更合适的方式进行编码。对于存储数据,您可以使用对象或数组。我在这个例子中使用了一个数组。检查这个:

<html>
<head>
<script type="text/javascript">
function getScore(){
    var scoreArr = [];
    scoreArr.push(['apple', '35']);
    scoreArr.push(['apple', '65']);

    var maxPercentage = null;
    var lovedFruit = '';
    var finalScore = '<center><table width="50%" border="0"><tr align="center"><th>Fruits</th><th>% of how much I love them</th></tr>';

    for (var i = 0; i < scoreArr.length; i++) {
        finalScore += '<tr align="center"><td>' + scoreArr[i][0] + '</td><td>' + scoreArr[i][1] + "%" + '</td></tr>';
        if (maxPercentage === null) {
            lovedFruit = scoreArr[i][0];
            maxPercentage = parseInt(scoreArr[i][1]);
        } else {
            if (maxPercentage < parseInt(scoreArr[i][1])) {
                lovedFruit = scoreArr[i][0];
                maxPercentage = parseInt(scoreArr[i][1]);
            }
        }
    }
    finalScore += '</table><br>Result is : ' + maxPercentage + ' belongs to ' + lovedFruit + '</center>';

   // WITH JAVASCRIPT
    var container = document.createElement('div');
    container.innerHTML = finalScore;
    document.body.insertBefore(container, null); //append div to end

  // WITH JQUERY
      // $('body').append(finalScore); 

}
</script>
</head>
<body onLoad=getScore()>
</body>
</html>

它将您的数据存储在数组中,然后您可以以更复杂的方式做任何您想做的事情。

于 2012-08-17T11:28:04.170 回答