我需要在选中50时用值填写第二列,在未选中CheckBox时使用值填写。
我似乎觉得document.getElementsByName("val" + i).value不能正常工作,或者我漏掉了什么。

编辑我用document.getElementsByName("val" + i).value代替了document.getElementsByName("val" + i)[0].value,并在循环中引入了if条件
function myFunction() {
var checkBox = document.getElementById("myCheck");
var table = document.getElementById("myTable");
var i;
for (i = 0; i < table.rows.length; i++) {
if (checkBox.checked == true) {
document.getElementsByName("val" + i)[0].value = "50";
} else {
document.getElementsByName("val" + i)[0].value = "0";
}
}
}table,
th,
td {
border: 1px solid black;
border-collapse: collapse;
}Checkbox: <input type="checkbox" id="myCheck" onclick="myFunction()">
<table id="myTable">
<tr>
<th>Interval</th>
<th>Valori</th>
</tr>
<tr>
<td>Int 1</td>
<td><input name="val1" value size="5"></td>
</tr>
<tr>
<td>Int 2</td>
<td><input name="val2" value size="5"></td>
</tr>
<tr>
<td>Int 3</td>
<td><input name="val3" value size="5"></td>
</tr>
<tr>
<td>Int 4</td>
<td><input name="val4" value size="5"></td>
</tr>
<tr>
<td>Int 5</td>
<td><input name="val5" value size="5"></td>
</tr>
</table>
发布于 2020-05-06 15:40:30
我想这就是你需要的。您的当前代码有几个问题。
i = 0;
document.getElementsByName表中有6个元素,包括第一个tr <tr>th>Interval</th><th>Valori</th></tr>,因此您需要从i = 1;开始,而不是从i = 1;返回一个NodeList元素。元素的NodeList没有.value属性。因此,在访问索引[0]之前,必须使用索引[0]。
window.onload = myFunction;,它将帮助您将所有列设置为0,以修改checkBox.checked条件,这样您就可以在检查上设置E 12450<代码>e 225,并在未选中时设置E 126E 227。H 228G 229
function myFunction() {
var checkBox = document.getElementById("myCheck");
var table = document.getElementById("myTable");
var i;
for (i = 1; i < table.rows.length; i++) {
if (checkBox.checked == true) {
document.getElementsByName("val" + i)[0].value = 50;
} else {
document.getElementsByName("val" + i)[0].value = 0;
}
}
}
window.onload = myFunction;<html>
<body>
<head>
<style>
table,
th,
td {
border: 1px solid black;
border-collapse: collapse;
}
</style>
</head>
Checkbox: <input type="checkbox" id="myCheck" onchange="myFunction()">
<table id="myTable">
<tr>
<th>Interval</th>
<th>Valori</th>
</tr>
<tr>
<td>Int 1</td>
<td><input name="val1" size="5"></td>
</tr>
<tr>
<td>Int 2</td>
<td><input name="val2" size="5"></td>
</tr>
<tr>
<td>Int 3</td>
<td><input name="val3" size="5"></td>
</tr>
<tr>
<td>Int 4</td>
<td><input name="val4" size="5"></td>
</tr>
<tr>
<td>Int 5</td>
<td><input name="val5" size="5"></td>
</tr>
</table>
</body>
</html>
https://stackoverflow.com/questions/61638784
复制相似问题