分享

javascript-使用OnClick()计算用户放入HTML表中的数字的平均值

 印度阿三17 2019-11-11

当前在识别我的HTML / JavaScript代码中的错误时遇到问题,这阻止了我的JavaScript函数计算由表用户输入的五个数字的平均值.

将数字输入所需的单元格后,单击“计算成绩”没有任何反应.努力看问题.

var table = document.getElementById("myTable");
var rows = table.rows;
for (var i = 0; i < rows.length; i  ) {
  var cells = rows[i].cells;
  var sum = 0;
  for (var x = 0; x < cells.length; x  ) {
    var cell = cells[x];
    sum  = parseInt(cell.innerHTML);
  }
  var average = sum / cells.length;
  rows[i].innerHTML  = "<td>"   average   "</td>";
}
<table id="myTable" style="width:100%">
  <tr>
    <th id="StudentName" bgcolor="FFF55A">Name</th>
    <th id="IDnumber" bgcolor="#FFF55A">ID</th>
    <th bgcolor="#FFF55A">Assignment 1</th>
    <th bgcolor="#FFF55A">Assignment 2</th>
    <th bgcolor="#FFF55A">Assignment 3</th>
    <th bgcolor="#FFF55A">Assignment 4</th>
    <th bgcolor="#FFF55A">Assignment 5</th>
    <th bgcolor="#FFF55A">Final</th>
  </tr>
  <tr>
    <td contenteditable='false'>Person1 </td>
    <td>1546396</td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
  </tr>
  <tr>
    <td contenteditable='false'>Person2</td>
    <td contenteditable='false'>45942544</td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
  </tr>
  <tr>
    <td contenteditable='false'>Person3</td>
    <td contenteditable='false'>48498465</td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
  </tr>
  <tr>
    <td contenteditable='false'> Person4</td>
    <td contenteditable='false'>4964984</td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
  </tr>
  <tr>
    <td contenteditable='false'>Person5</td>
    <td contenteditable='false'> 5686846</td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
  </tr>
  <tr>
    <td contenteditable='false'>Person6</td>
    <td contenteditable='false'>498465</td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
  </tr>
  <tr>
    <td contenteditable='false'>Person7</td>
    <td contenteditable='false'>654684</td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
  </tr>
  <tr>
    <td contenteditable='false'>Person8</td>
    <td contenteditable='false'>6498497</td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
  </tr>
  <tr>
    <td contenteditable='false'>Person9</td>
    <td contenteditable='false'>8749846</td>
    <td contenteditable='true'>2</td>
    <td contenteditable='true'>45</td>
    <td contenteditable='true'>57</td>
    <td contenteditable='true'>2</td>
    <td contenteditable='true'>4</td>
  </tr>
  <tr>
    <td contenteditable='false'>Person10</td>
    <td contenteditable='false'>984894</td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
    <td contenteditable='true'></td>
  </tr>
</table>
<button onclick="myFunction()" class="button1">Calculate grade</button>

解决方法:

我编辑了小提琴:https:///StarStep/m7v1j5zz/105/
并在计算按钮上添加了一个事件列表器:
< button id =“ myFunction” class =“ button1”>计算成绩< / button>

function myFunction() {
   var table = document.getElementById("myTable");
   var rows = table.rows;

   for (var i = 1; i < rows.length; i  ) {
     var cells = rows[i].cells;
     var sum = 0;
         var numbers = 0;
     for (var x = 2; x < (cells.length -1); x  ) {
       var cell = cells[x];
       var addme = parseInt(cell.innerHTML);
       if(!isNaN(addme)) {       
          sum  = addme;
          numbers  ;
       }
     }
     var average = sum / numbers;
     rows[i].cells[7].innerHTML = "<td>"   Math.round(average)   "</td>";
   }
 }

document.getElementById('myFunction').onclick = myFunction;
来源:https://www./content-1-557201.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多