我的代码可以在JSFIDDLE
中找到我对列表中的动态复选框选择有疑问。
如果我检查parent1 checkbox
,则只应检查parent 1
的子项。
如果我检查Parent1, Category 1.1, Category 1.2, Category 1.3
就像只检查一样
如果我取消选中Parent 1, the childrens
,也可以取消选中。
由于这些值来自foreach循环中的数据库,我在下面的代码中引用了这些值。
这是我的代码。
<div class="middle-right">
<ul class="mid-right-list">
<?php
foreach($pntrs AS $ps)
{
$catrs=$media->Catgselectn($ps['parent_id'],'sales_catmgmt');
?>
<li><b>+ <?php echo $ps['parent_name'];?></b>
<?php
foreach($catrs AS $cg)
{
?>
<ul>
<li><input type="checkbox" class="checkbox1" name="catg[]" value="<?php echo $cg['cat_id']; ?>"><?php echo $cg['cat_name']; ?></li>
</ul>
<? } ?>
</li>
<?php
}
?>
</ul>
</div>
答案 0 :(得分:2)
这是Jquery解决方案。你可以使用jquery。 JsFriddle
$(function () {
$("input[type='checkbox']").change(function () {
$(this).siblings('ul')
.find("input[type='checkbox']")
.prop('checked', this.checked);
});
});
答案 1 :(得分:0)
一种方法 - 你可以为父id编写一个jquery触发器,它包含不同的属性。然后检查哪个父复选框,找到该ID然后相应地标记这些子复选框。
触发器示例: -
$(document).ready(function() {
$('body').delegate('.parent_class_of_checkbox', 'click', function(evt) {
// here mark checked to child checkbox.
});
});