Jquery 如果选择了所有子项,请勾选“父项”

Jquery 如果选择了所有子项,请勾选“父项”,jquery,checkbox,Jquery,Checkbox,我有一组复选框(从数据库中提取) 这就是我需要的: 如果在div=勾选父项中选择了所有子项 如果在div=取消勾选父项中未选中一个子项 我在网上搜索过,但运气不太好 我正在努力寻找父对象,希望下面的代码当前能找到单个div中的所有子对象,所有子对象都被勾选。我不知道怎样才能再次得到父母 if ($('.group').parent().siblings('.child-group').find("input").not(':checked').size() == 0) { $('#'

我有一组复选框(从数据库中提取)

这就是我需要的:

  • 如果在div=勾选父项中选择了所有子项
  • 如果在div=取消勾选父项中未选中一个子项
我在网上搜索过,但运气不太好

我正在努力寻找父对象,希望下面的代码当前能找到单个div中的所有子对象,所有子对象都被勾选。我不知道怎样才能再次得到父母

if ($('.group').parent().siblings('.child-group').find("input").not(':checked').size() == 0)
{
    $('#').closest('input');
    alert("instead");

}

                   <div id="OneParent">
                    <img id="OneImage" class="box-toggle" data-paired-element="One" src="../../Content/Images/minus.jpg" width="15px" height="15px" />
                    <label><input type="checkbox" id="One" class="group" />One</label>                        

                    <div class="One child-group">
                        <ul>
                                <li>
                                    <label>
                                            <input type="checkbox" id="circulationList" class="One child" name="SelectedUsers" value="User1" checked="checked" />
                                        User1
                                    </label>
                                </li>
                                <li>
                                    <label>
                                            <input type="checkbox" id="circulationList" class="One child" name="SelectedUsers" value="User2" checked="checked" />
                                        User2
                                    </label>
                                </li>
                        </ul>
                    </div>
                </div>
                <div id="TwoParent">
                    <img id="TwoImage" class="box-toggle" data-paired-element="Two" src="../../Content/Images/minus.jpg" width="15px" height="15px" />
                    <label><input type="checkbox" id="Two" class="group" />Two</label>                        

                    <div class="Two child-group">
                        <ul>
                                <li>
                                    <label>
                                            <input type="checkbox" id="circulationList" class="Two child" name="SelectedUsers" value="User3" checked="checked" />
                                        User3
                                    </label>
                                </li>
                        </ul>
                    </div>
                </div>
if($('.group').parent().sides('.child group').find(“输入”).not(':checked').size()==0)
{
$('#')。最近('input');
警惕(“相反”);
}
一个
  • 用户1
  • 用户2
两个
  • 用户3
提前感谢您的帮助

克莱尔:-)

你可以用这个:

$('.child').on('change', function () {
    var parent = $(this).closest('.child-group'),
        status = parent.find('input.child').not(':checked').length === 0;
    parent.prev("label").find('.group').prop('checked', status);
}).trigger('change');
它在这里工作:

您可以使用:

$('.child').on('change', function () {
    var parent = $(this).closest('.child-group'),
        status = parent.find('input.child').not(':checked').length === 0;
    parent.prev("label").find('.group').prop('checked', status);
}).trigger('change');
这就是它的工作原理:

我建议:

$('input[type="checkbox"].child').change(function(){
    var $a = $(this).closest('ul'),
        $c = $a.find('input[type="checkbox"]'),
        checked = $c.filter(function(){
            return this.checked;
        });
    $a.closest('div[id]').find('> label > input[type="checkbox"]').prop('checked', $c.length === checked.length);
});

参考资料:

    • 我建议:

      $('input[type="checkbox"].child').change(function(){
          var $a = $(this).closest('ul'),
              $c = $a.find('input[type="checkbox"]'),
              checked = $c.filter(function(){
                  return this.checked;
              });
          $a.closest('div[id]').find('> label > input[type="checkbox"]').prop('checked', $c.length === checked.length);
      });
      

      参考资料:

      试试这个

      $('#select_all').click(function() {
      var c = this.checked;
      $(':checkbox').prop('checked',c);
      });
      

      试试这个

      $('#select_all').click(function() {
      var c = this.checked;
      $(':checkbox').prop('checked',c);
      });
      


      您不应该对多个元素使用ID,只需将
      circulationList
      添加为一个类即可。好的,谢谢您让我知道。我将在我的代码中更改此项。您不应该对多个元素使用ID,只需将
      circulationList
      添加为一个类即可。好的,谢谢您让我知道。我会在我的代码中修改这个