我正在使用以下代码来检查一些复选框,这些复选框基于它们的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"
}
代码不起作用。我很确定我错过了什么。
答案 0 :(得分:1)
由于ID在页面中是唯一的,因此没有getElementById()
的复数。
您正在使用getElementsById()
...删除s
。
这应该是在浏览器开发工具控制台中抛出错误,这会让你知道问题所在。
答案 1 :(得分:0)
您必须将开始和结束<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>';