Javascript 动态列表复选框问题

Javascript 动态列表复选框问题,javascript,php,mysql,list,Javascript,Php,Mysql,List,我的代码可以在这里找到 我对列表中的动态复选框选择有一个问题。 如果选中parent1复选框,则只应选中parent1的子项 比如,如果我选中父项1、类别1.1、类别1.2、类别1.3,则只应选中, 如果我取消选中父项1,子项也将取消选中 因为这些值来自foreach循环中的数据库,我在下面的代码中引用了foreach循环 这是我的密码 <div class="middle-right"> <ul class="mid-right-list">

我的代码可以在这里找到

我对列表中的动态复选框选择有一个问题。 如果选中
parent1复选框
,则只应选中
parent1
的子项

比如,如果我选中父项1、类别1.1、类别1.2、类别1.3,则只应选中, 如果我取消选中父项1,子项也将取消选中

因为这些值来自foreach循环中的数据库,我在下面的代码中引用了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>

  • +

一种方法-您可以为包含不同属性的父ID编写jquery触发器。然后选中哪个父复选框,找到该id,然后相应地标记这些子复选框

触发器示例:-

$(document).ready(function() {
   $('body').delegate('.parent_class_of_checkbox', 'click', function(evt) {
        // here mark checked to child checkbox.
    });
});

这里是Jquery解决方案。您可以使用jquery


您是否尝试向ul添加单独的id/类,以便您可以使用jQuery更改复选框状态?在父复选框上写入触发器,然后选中任何父复选框,然后您可以检查位于该父项下的所有子项。嗨,Suleman。我试过了。但在编码方面面临的问题很少。您是否可以提供代码。谢谢。尝试为每个输入添加onchange属性,并在该函数中将子项设置为checkedHi Justinas Jurciukonis。。不,你能建议我怎么做吗。谢谢,不客气。如果你认为它有帮助,那么你可以把它标记为答案。
$(function () {
    $("input[type='checkbox']").change(function () {
        $(this).siblings('ul')
            .find("input[type='checkbox']")
            .prop('checked', this.checked);
    });
});