jQuery 复选框更改事件以通过另一个复选框展开可折叠

Gh0sT

请参考:https : //jsfiddle.net/3msLwfu6/1/
Tab 1 是一个可折叠的,其中包含嵌套可折叠的“项目”。每个“项目”折叠状态都由项目标题上的复选框使用引导控件控制。
选项卡 1 还控制一个“全选”复选框,该复选框使用 JS 选择所有“项目”的复选框。

<div class="collapse-accordion" id="accordion" role="tablist" aria-multiselectable="true">
<div class="card">
    <div class="card-header" role="tab" id="heading-1">
    <h5 class="mb-0">
        <a class="d-block" data-toggle="collapse" data-parent="#accordion" href="#collapse-1" aria-expanded="true" aria-controls="collapse-1">
        Tab 1
        <span class="float-right">Select All <input type="checkbox" id="sa_foo" name="sa_foo" data-checkbox-name="foo" class="selectall"/></span>
        </a>
    </h5>
    </div>
    <div id="collapse-1" class="collapse" role="tabpanel" aria-labelledby="heading-1">
        <div class="card-body">
            <div id="accordion-1">
                <div class="card">
                    <div class="card-header" id="heading-1-1">
                    <h5 class="mb-0">
                        <a class="collapsed">
                        Item 1
                        </a>
                        <span class="float-right"><input type="checkbox" id="foo_1" name="foo" value="1" data-select-all="sa_foo" class="checkme" data-toggle="collapse" data-target="#collapse-1-1"/></span>
                    </h5>
                    </div>
                        <div id="collapse-1-1" name="foo" class="collapse" aria-labelledby="heading-1-1">
                        <div class="card-body">
                            Text 1
                        </div>
                        </div>
                </div>
            </div>      
        </div>
    </div>
</div>

JS

$(document).ready(function(){
// Select All checkbox should not expand accordion header
$(".selectall").on("click", function(event) {
    event.stopPropagation();
});
    // Select all Items once Select All checkbox is clicked
$(':checkbox.selectall').on('click', function(){
  $(':checkbox[name="' + $(this).data('checkbox-name') + '"]').prop("checked", $(this).prop("checked"));
});

});

通过此设置,我希望“全选”复选框也能控制嵌套“项目”的显示/隐藏,但事实并非如此。
我错过了什么?

密码器

用检查工具看看那里发生了什么。
Item 1 复选框对被点击做出反应,并进行了一系列更改。

在此处输入图片说明

这是一个丑陋的解决方法,可以让您继续前进。
丑陋但有效的小提琴

$(document).ready(function(){
    // Select All checkbox should not expand accordion header
    $(".selectall").on("click", function(event) {
        event.stopPropagation();
    });
    // Select all Items once Select All checkbox is clicked
    $(':checkbox.selectall').on('click', function(){
        //$(':checkbox[name="' + $(this).data('checkbox-name') + '"]').prop("checked", $(this).prop("checked"));
        $(':checkbox[name="' + $(this).data('checkbox-name') + '"]').click();
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery根据选中的另一个复选框设置一个复选框

来自分类Dev

JQuery的:当选择另一个复选框复选框如何选择或取消所有复选框

来自分类Dev

jQuery选择多个属性并选中/取消选中另一个复选框

来自分类Dev

jQuery的选择几个选项,单击另一个复选框进行多选

来自分类Dev

如何使用jQuery处理从另一个PHP文件填充的html复选框?

来自分类Dev

jQuery通过单击复选框仅更改一个段落

来自分类Dev

当通过jQuery单击一个复选框时,如何选择所有复选框并取消选择?

来自分类Dev

jQuery复选框构建一个数组,其中包含ID更改后的复选框的列表

来自分类Dev

jQuery在两个复选框之间选择一个复选框

来自分类Dev

jQuery的每个复选框行仅选中一个复选框

来自分类Dev

通过事件内的另一个复选框更改复选框

来自分类Dev

如何选择一个复选框jQuery对象

来自分类Dev

jQuery验证以选择至少一个复选框

来自分类Dev

jQuery-如果选中复选框,则将输入值和另一个数字相加

来自分类Dev

jQuery-选中一个复选框并更改div的背景颜色

来自分类Dev

jQuery如果选中一个或多个复选框,则更改变量

来自分类Dev

jQuery单击一个复选框应选中一行中的所有复选框

来自分类Dev

jQuery单击事件复选框更改了Ajax调用

来自分类Dev

jQuery无法触发列表复选框更改事件

来自分类Dev

在更改事件的过程完成之前的 Jquery 复选框

来自分类Dev

带有更改事件的 Jquery 复选框道具方法

来自分类Dev

jQuery自动触发复选框事件

来自分类Dev

选中复选框时的jQuery事件

来自分类Dev

jQuery Mobile:不能多次检查可折叠标题中的复选框

来自分类Dev

用jQuery更改复选框的样式

来自分类Dev

更改时的jQuery复选框

来自分类Dev

复选框中的JQuery / JavaScript更改

来自分类Dev

更改时的jQuery复选框

来自分类Dev

更改复选框+标签jQuery

Related 相关文章

  1. 1

    jQuery根据选中的另一个复选框设置一个复选框

  2. 2

    JQuery的:当选择另一个复选框复选框如何选择或取消所有复选框

  3. 3

    jQuery选择多个属性并选中/取消选中另一个复选框

  4. 4

    jQuery的选择几个选项,单击另一个复选框进行多选

  5. 5

    如何使用jQuery处理从另一个PHP文件填充的html复选框?

  6. 6

    jQuery通过单击复选框仅更改一个段落

  7. 7

    当通过jQuery单击一个复选框时,如何选择所有复选框并取消选择?

  8. 8

    jQuery复选框构建一个数组,其中包含ID更改后的复选框的列表

  9. 9

    jQuery在两个复选框之间选择一个复选框

  10. 10

    jQuery的每个复选框行仅选中一个复选框

  11. 11

    通过事件内的另一个复选框更改复选框

  12. 12

    如何选择一个复选框jQuery对象

  13. 13

    jQuery验证以选择至少一个复选框

  14. 14

    jQuery-如果选中复选框,则将输入值和另一个数字相加

  15. 15

    jQuery-选中一个复选框并更改div的背景颜色

  16. 16

    jQuery如果选中一个或多个复选框,则更改变量

  17. 17

    jQuery单击一个复选框应选中一行中的所有复选框

  18. 18

    jQuery单击事件复选框更改了Ajax调用

  19. 19

    jQuery无法触发列表复选框更改事件

  20. 20

    在更改事件的过程完成之前的 Jquery 复选框

  21. 21

    带有更改事件的 Jquery 复选框道具方法

  22. 22

    jQuery自动触发复选框事件

  23. 23

    选中复选框时的jQuery事件

  24. 24

    jQuery Mobile:不能多次检查可折叠标题中的复选框

  25. 25

    用jQuery更改复选框的样式

  26. 26

    更改时的jQuery复选框

  27. 27

    复选框中的JQuery / JavaScript更改

  28. 28

    更改时的jQuery复选框

  29. 29

    更改复选框+标签jQuery

热门标签

归档