按Id检查复选框

时间:2015-09-12 00:22:59

标签: javascript php checkbox

我正在使用以下代码来检查一些复选框,这些复选框基于它们的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"
}

代码不起作用。我很确定我错过了什么。

2 个答案:

答案 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>';