Jquery 每个部分的复选框显示不同的行为

Jquery 每个部分的复选框显示不同的行为,jquery,Jquery,我有一个jquery代码,我用它来选中/取消选中复选框。他们的工作有点好,但我想做一些改变,我卡住了如何 以下是我的工作代码: 我有单独的部分,每个部分都有自己的复选框,因此我要做的是: $(document).on('click','.section',function() { var lstofids = []; $("input[data-section='"+$(this).data('id')+"']'").each(function() { if($(

我有一个jquery代码,我用它来选中/取消选中复选框。他们的工作有点好,但我想做一些改变,我卡住了如何

以下是我的工作代码:

我有单独的部分,每个部分都有自己的复选框,因此我要做的是:

$(document).on('click','.section',function() {
    var lstofids = [];
    $("input[data-section='"+$(this).data('id')+"']'").each(function() {
        if($(this).is(':checked') {
            $(this).attr('checked','false')
        }else{
            $(this).attr('checked','true');
            listofids.push($(this).attr('data-section');
        }
        $("#lstoffields").val(lstofids);
    });
});
上面的代码是有效的,但这里有几个我正在努力解决的问题

  • 仅当单击类名为.section的按钮时,它才会将项以逗号分隔的形式添加到名为lstoffields的文本字段中
  • 我想重新命名按钮,它选中了所有它应该是“取消选中所有”,当取消选中,它应该是选中所有”-像切换
  • 单击复选框无效,即使单击,也无法将值添加到lstodfields文本字段。删除时也是如此
  • 如果我选中2并尝试单击按钮,它会将剩余的切换为选中,将选中的切换为取消选中-这应该是一致的,不会发生
  • $(文档).on('click','section',function()){
    var isCheck=$(this).val()=“全部检查”;
    $(“输入[数据部分='”+$(this.data('id')+“'])”).prop('checked',isCheck”);
    var listofids=$(“输入[数据部分=”+$(this.data('id')+”]:选中”).toArray().map(x=>$(x.val());
    $(“#lstoffields”).val(listofids);
    $(this.val)(isCheck?“全部取消选中”:“全部选中”);
    重置按钮();
    });
    $(document).on('change','.chk',function(){
    var listofids=$(“输入[数据节=”+$(this).data('section')+”]:选中”).toArray().map(x=>$(x.val());
    $(“#lstoffields”).val(listofids);
    重置按钮();
    });
    函数resetButton(){
    如果($('.chk:checked')。长度>0){
    $(“#btn”).removeAttr(“禁用”);
    }否则{
    $(“#btn”).attr(“禁用”,真);
    }
    }
    
    行动

    1
    2
    3

    你能分享你的html结构吗?谢谢你,这正是我要寻找的:最后一个警告是,在当前已禁用的部分范围外有一个按钮,它适用于每个部分,我想在选中部分中的任何复选框时激活它,这样我就可以完成它的作业了