给定一个包含5列的网格和第2列中的ID数组,如何为数组中的ID设置第1列的布尔值为true?有25行,5行在数组中。
var ProductIDArray = [2,5,9,12,16];
var i;
for (i = 0; i < ProductIDArray.length; i++) {
document.getElementById("chk").checked = true;
}
答案 0 :(得分:0)
第一个错误:您无法在页面上拥有重复的ID。要么使用类,要么为每个元素使这些ID唯一。
第二个错误:你需要每次在循环中检查不同的元素。
基于此:
第1列是复选框列。只有数组中的那些应该选中复选框。其他行不应该检查第1列。
让我们尝试解决它。假设您的复选框ID为chk_N
,其中N
是与产品ID(chk_1
,chk_2
等相匹配的数字...),代码应如下所示:
var ProductIDArray = [2,5,9,12,16];
var i;
for (i = 0; i < ProductIDArray.length; i++) {
document.getElementById("chk_" + ProductIDArray[i]).checked = true;
}
以下是一个例子:
var ProductIDArray = [2, 5, 9, 12, 16];
var i;
for (i = 0; i < ProductIDArray.length; i++) {
document.getElementById("chk_" + ProductIDArray[i]).checked = true;
}
&#13;
<input type="checkbox" id="chk_11" />11<br>
<input type="checkbox" id="chk_2" />2<br>
<input type="checkbox" id="chk_33" />33<br>
<input type="checkbox" id="chk_45" />45<br>
<input type="checkbox" id="chk_65" />65<br>
<input type="checkbox" id="chk_5" />5<br>
<input type="checkbox" id="chk_16" />16<br>
<input type="checkbox" id="chk_9" />9<br>
<input type="checkbox" id="chk_12" />12<br>
...
&#13;