这是我索引中的代码段:
username
这是我的js:
<p id="text" style="display:none">hello</p>
echo '<tr>';
echo '<td>'.$s['school_name'].'</td>';
echo '<td>'.$s['location'].'</td>';
echo '<td>'.$s['population'].'</td>';
echo '<td>'.$s['cost'].'</td>';
echo '<td>'.$s['topnotchers'].'</td>';
echo '<td>'.$s['rating'].'</td>';
echo '<td><input type="checkbox" name="userSelection" name="userSelection" onclick="userSelection()" value="'.$s['school_id'].'"</td>';
echo '</tr>';
}
}
由于我将行设置为行[0],因此仅在检查行[0]时显示该文本。但是,如果我在检查时需要函数对所有行都是真的,应该怎么做? 以上代码仅在第一个循环中显示文本。 “*”会起作用吗? 我是初学者,我将不胜感激。
答案 0 :(得分:0)
您已对索引0进行了硬编码。因此,js函数仅对具有零索引的复选框运行。 首先将复选框的名称更改为checkbox1,checkbox2,...这将简化案例。 然后,您需要为每个复选框运行for循环。使用 `
for(i=0; i < 6; i++){
currentCheckBox = document.getElementById("checkbox"+i)
var text = document.getElementById("text");
if (currentCheckBox.checked == true){
text.style.display = "block";
} else {
text.style.display = "none";
}
}
`
答案 1 :(得分:0)
您必须将名称指定为数组,如下所示
<input type="checkbox" id="userSelection1" name="userSelection[]" onclick="userSelection()" value="">
然后只有你能够循环使用javascript来检查状态
var checkBoxArr = document.getElementsByName("userSelection[]");