切换多个复选框,但不是全部选中

时间:2015-05-27 13:45:33

标签: javascript php jquery checkbox

在现有项目中,表格中填充了每行的复选框和说明。 标题后面是同一组的几行,应该切换标题检查标题:

for($i = 1; $i < count($inhaltIDList); $i++)
{
    echo '<tr><td><input type="checkbox" disabled name="1" value="">
        </td>'."\n";
    echo "<td><strong>Description"</strong></td></tr>\n";

    for($x = 0; $x < count($inhalt); $x++)
    {
        echo '<tr><td><input type="checkbox"  name="absatz[]"         value="'.$inhaltIDList[$i].','.$absatzbuchstaben[$x].'" '.$check.'>        </td>'."\n";
        echo '<td>'.$inhalt[$x].'</td></tr>'."\n";
        $check = '';
    }
}

如何从第一个循环中选择第二个for循环中的所有复选框?

1 个答案:

答案 0 :(得分:0)

您需要做的是从第一个循环ID和第一个框中唯一的第二个循环类名中的所有复选框中选中复选框。你最终得到的是这样的:

for($i = 1; $i < count($inhaltIDList); $i++)
{
    echo '<tr><td><input type="checkbox" disabled name="1" value="" id="allBox'.$i.'">
        </td>'."\n";
    echo "<td><strong>Description"</strong></td></tr>\n";

    for($x = 0; $x < count($inhalt); $x++)
    {
        echo '<tr><td><input type="checkbox"  name="absatz[]" class="subBox'.$i.'" value="'.$inhaltIDList[$i].','.$absatzbuchstaben[$x].'" '.$check.'>        </td>'."\n";
        echo '<td>'.$inhalt[$x].'</td></tr>'."\n";
        $check = '';
    }
}

这样做的第一项是“allBox1”的ID,以及类名“subBox1”之后的所有复选框。然后在下一个循环中,第一个项目ID变为“allBox2”,以下复选框类名称变为“subBox2”。

现在,当选中第一个框“allBox1”时,您希望使用以下jQuery来检查其所有子框:

$('body').on('click', '#allBox1' , function(e){
  if($("#allBox1").is(':checked')){
    $('.subBox1').prop('checked', true);
  }else{

  }
});

有了这个,虽然你需要复制每个初始框的jQuery代码,所以我建议你将它合并到你的PHP foreach循环中。