javascript - 如何使 HTML 中的按钮具有数字的值?
问题描述
我有一个问题,您如何使 HTML 中的按钮具有数字的值?我必须建立一个系统,让我可以对某些东西进行评分。我制作了 5 个按钮,我想让它们中的每一个都有一个从 1 到 5 的值。然后每次我点击按钮时,我都会打印出文本,它会计算按钮值的平均值。有谁知道如何提供帮助?
现在我已经做了一个按钮。这是我的 HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<h1> demo </h1>
<input type="submit" value="rate" onclick="demo();" />
<p id="demo"></p>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
这是我在 JavaScript 中的函数,我试图找到平均值:
var arr = [];
function demo(){
var sum = 0;
for (var i = 0; i < arr.length; i++){
sum += arr[i];
}
return sum / arr.length;
document.getElementById("demo").innerHTML;
}
function pushArr() {
var val = document.getElementById("demo").value = 1;
arr.push(val);
return arr;
}
解决方案
It's probably best to do all the math based on the contents of arr
and not to use the current value inside the "demo" element to perform the calculation. The following works for me; you can skip some of the repetitive HTML by creating the buttons dynamically, but I guess that's beyond the scope here.
const arr = [];
function calculateAverage(array) {
let sum = 0;
for (let i = 0; i < array.length; i++) {
sum += array[i];
}
return sum / array.length;
}
function demo(rating) {
arr.push(rating);
const newValue = calculateAverage(arr);
document.getElementById("demo").innerText = newValue;
}
<input type="submit" value="Add 1" onclick="demo(1)" />
<input type="submit" value="Add 2" onclick="demo(2)" />
<input type="submit" value="Add 3" onclick="demo(3)" />
<input type="submit" value="Add 4" onclick="demo(4)" />
<input type="submit" value="Add 5" onclick="demo(5)" />
<p id="demo"></p>
推荐阅读
- time-complexity - 大 O 表示法:查找 2 个嵌套 for 循环的运行时间
- c# - 我正在使用 ClosedXML 库在我的 asp.net 核心 mvc 项目中导出 excel。我想按升序对名称列进行排序。如果有人对此有任何想法
- c# - 即使启用,Win Form 应用程序也不会显示通知图标
- javascript - 返回在 JavaScript 的嵌套循环中匹配的子项
- python - 通过导数实现具有两个隐藏层的多层感知器
- wso2-am - 为 wso2 api manager 3.2.0 配置负载均衡器
- c++ - SQL 数字/十进制以提高多精度
- node.js - 如果请求在nodejs中完成的时间太长,如何进行静态响应
- r - 更改一个堆叠条的字体颜色
- bash - 通过终端访问桌面文件夹