在现有项目中,表格中填充了每行的复选框和说明。 标题后面是同一组的几行,应该切换标题检查标题:
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循环中的所有复选框?
答案 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循环中。