如果我选中了父复选框,则所有子复选框都将在 php while 循环中被选中 [重复]
Posted
技术标签:
【中文标题】如果我选中了父复选框,则所有子复选框都将在 php while 循环中被选中 [重复]【英文标题】:if i checked parent checkbox all child check boxes will be checked in php while loop [duplicate] 【发布时间】:2021-06-27 09:10:33 【问题描述】:<?php
$cq=mysqli_query($db_con,"SELECT * FROM `course` WHERE `status`='1' ");
while($cf=mysqli_fetch_array($cq))
?>
<script>
$(document).ready(function()
$('#parent<?php echo $cf['id']; ?>').on('click',function()
if(this.checked)
$('#child<?php echo $cf['id']; ?>').prop('checked',true);
else
$('#child<?php echo $cf['id']; ?>').prop('checked',false);
);
);
</script>
<input type="checkbox" name="course[]" id="parent<?php echo $cf['id']; ?>"><?php echo $cf['course']; ?><br>
<?php
$sq=mysqli_query($db_con,"SELECT * FROM `softwares` WHERE `course`='$cf[id]' AND `status`='1' ");
while($sf=mysqli_fetch_array($sq))
?>
<input type="checkbox" name="softwares[]" id="child<?php echo $cf['id']; ?>" class="cu"><?php echo $sf['software']; ?><br>
<?php ?>
enter image description here
如果我选中了父复选框,所有子复选框都将被选中,但只有第一个子复选框被选中
【问题讨论】:
ID 在 html 文档中必须是唯一的。 将您的“子 ID”设为class
值而不是 id
值,并使用类选择器将它们全部匹配。
【参考方案1】:
我建议使用class
而不是id
,因为id
是每个HTML 的唯一元素,多个元素可以有相同的class
。
所以,儿童复选框 HTML:
<input type="checkbox" name="softwares[]" id="child<?php echo $cf['id']; ?>" class="cu child<?php echo $cf['id']; ?>"><?php echo $sf['software']; ?><br>
还有 JS:
$('#parent<?php echo $cf['id']; ?>').on('click',function()
if(this.checked)
$('.child<?php echo $cf['id']; ?>').prop('checked',true);
else
$('.child<?php echo $cf['id']; ?>').prop('checked',false);
);
【讨论】:
以上是关于如果我选中了父复选框,则所有子复选框都将在 php while 循环中被选中 [重复]的主要内容,如果未能解决你的问题,请参考以下文章