Javascript Jquery,动态复选框选择

Javascript Jquery,动态复选框选择,javascript,jquery,Javascript,Jquery,我有一个包含不同类别的下拉列表,设置如下: Main1 sub1 sub1 sub1 Main2 sub2 sub2 sub2 等等 当我按下“Main1”时,所有“Sub1”都将被选中,依此类推。 我做了一个有效的函数 $('.main_check_1').change(function() { var checkboxes = $(".check_1"); if($(this).is(':checked')) { checkbox

我有一个包含不同类别的下拉列表,设置如下:

Main1
sub1
sub1
sub1

Main2
sub2
sub2
sub2

等等

当我按下“Main1”时,所有“Sub1”都将被选中,依此类推。 我做了一个有效的函数

$('.main_check_1').change(function() {

        var checkboxes = $(".check_1");

        if($(this).is(':checked')) {

            checkboxes.prop('checked', true);

        } else {

            checkboxes.prop('checked', false);

        }
    });
但只有我硬编码它,它才不会动态工作

(在我的管理页面上,我将能够添加更多,并给他们一个id,主“1”,子“1”等)


你知道我该怎么做吗?

把你的代码改成下面的代码可能会有帮助

$(document).on('change', '.main_check', function() {
    var mainCheck = $(this),
        subChecks = mainCheck.children('.sub-check');

    if(mainCheck.is(':checked')) {

        checkboxes.prop('checked', true);

    } else {

        checkboxes.prop('checked', false);

    }
});

只需使用“on”方法。

这可能很有用-请注意我是如何管理HTML的:

$('#main_check_1').click(function() {
this_box = $(this);
        var checkboxes = $('.check1');

    checkboxes.each(function(){
        checkboxes.prop('checked', true);
        if(this_box.is(':checked')) {

            checkboxes.prop('checked', true);

        } else {

            checkboxes.prop('checked', false);

        }
    });

    });

您可以给电源一个唯一的id名称和一个非唯一的类名,例如“检查表”,而不是给电源一个唯一的类名。确保子类的类名与它们的parent-main-id相同。现在您可以做如下操作:

$('.checklist').change(function () {
    var mainCheck = this;
    $("." + mainCheck.id).each(function () {
        $(this).prop('checked', $(mainCheck).prop('checked'));
    });
});

你能显示
HTML
吗?你能摆弄一下这个。。。