我使用下面的代码根据复选框的Id和存储在数组中的值来选中一些复选框。因此,如果数组有一个值,相应的复选框应该被选中。
for($k=0;$k<count($array_ids);$k++){
echo'<script type="text/javascript">
var cb = document.getElementsById("id_'.$array_ids[$k].'");
cb.checked = true;
</script>';
}
这是复选框的代码:
<input type="checkbox" id="id_'.$array_ids[$k].'" name="'.$array_ids[$k].'" value="checked" class= "My_class" onchange="add_on_textBox(this,'''.$array_ids[$k].''',''My_class'')">
$array_ids的var_dump结果:
array(2) {
[0]=>
string(5) "Name1"
[1]=>
string(5) "Name2"
}
代码不工作。我很确定我错过了什么。
由于ID在页面中是唯一的,因此没有复数形式的getElementById()
。
您正在使用getElementsById()
…拆下s
这应该在浏览器开发工具控制台抛出错误,这也会给你提示问题在哪里。
必须将开始和结束<script>
标记置于for循环之外:
echo'<script type="text/javascript">';
for($k=0;$k<count($array_ids);$k++){
echo 'var cb = document.getElementsById("id_'.$array_ids[$k].'");
cb.checked = true;';
}
echo '</script>';