Jquery 复选框选择的多个实例

Jquery 复选框选择的多个实例,jquery,Jquery,我不确定这个标题是否正确,或者我的解释是否正确。当你看到这个例子时,我希望你明白我想做什么 我使用的javascript代码如下所示: $("#checkAll").click(function(){ $('input:checkbox').not(this).prop('checked', this.checked) .trigger("change"); }); $(".selector").on("change", function() { var parent =

我不确定这个标题是否正确,或者我的解释是否正确。当你看到这个例子时,我希望你明白我想做什么

我使用的javascript代码如下所示:

$("#checkAll").click(function(){
    $('input:checkbox').not(this).prop('checked', this.checked)
    .trigger("change");
});

$(".selector").on("change", function() {
  var parent = $(this).closest("form");

  $("#" + parent.data("checktable"))
    .find('[dbval="' + this.name + '"]')
    .toggleClass("highlight", $(this).is(":checked"));
  parent
    .find(".all")
    .prop(
      "checked",
      parent.find(".selector:checked").length === parent.find(".selector").length
    );
});

$(".all").on("change", function() {
  $(this).closest("form").find(".selector")
    .prop("checked", $(this).is(":checked"))
    .trigger("change");
});

$(".all:checked").each(function() {
  $(this).closest("form").find(".selector").prop("checked", true).trigger("change");
});

$(".selector").trigger("change");
请注意,这段代码不是我写的。虽然它工作得很好,但我无法进行小的调整。如示例fiddle所示,当我尝试分别进行全选(表1和表2)和全选(表3和表4)时,我失败了。我想在代码上的专家触摸,什么样的变化应该使我可以在这里实现选择性突出显示。如果有什么不清楚的地方,请询问。提前谢谢

将您的输入更改为

<input type="checkbox"  name="CheckAll" class="checkAll" class="all" data-form="#form1,#form2">
      All (Table 1&2)</label>

我创建了一个自定义属性,其中存储了需要切换的表单ID,之后我更改了单击功能,仅在数据属性中切换表单的状态

您需要类似“是”的内容,这就是我正在尝试的。我没有检查你的代码。我能用你的方法做更多的例子吗?是的,你能做到。非常感谢,我会做到的。时间到了我会接受你的回答。如果不是太多,我可以问你一个问题吗?有没有可能在不改变html的情况下让你的代码正常工作?有没有可能你和我分享了错误的东西?因为在这个提琴中,html中有数据表单=“#form1,#form2”,而原始html中没有。提琴中的js是关键,如果你把它放在你提供的提琴中,它将与你的html表单一起工作。是的,代码中有jquery 3.3.1。这就是你的意思?第一部分实际上是有效的。但第二部分(表格)中存在一个问题。
$(".checkAll").click(function(){
    $($(this).attr('data-form')).find('input:checkbox').not(this).prop('checked', this.checked)
    .trigger("change");
});