Javascript jQuery在更改时动态选择复选框组

Javascript jQuery在更改时动态选择复选框组,javascript,jquery,html,Javascript,Jquery,Html,我有一组动态的行,每个行都有一个下拉列表和复选框,如果选择了某个选项值,则需要在更改时选中所有复选框 这对于一个组很好,但是当有多行并且从一行中选择了选项值时,onChange将触发,以从所有行而不是特定行中选择所有复选框 我设置了一个提琴来澄清我的意思——我非常确定我需要以某种方式获得一个行计数器,并在onChange中传递该计数器编号,这样它就不会选中所有复选框,而只会选择要更改的下拉列表所在的行 如果我在eventRegistrations[1]中硬编码1,则第一个下拉列表更改为Atten

我有一组动态的行,每个行都有一个下拉列表和复选框,如果选择了某个选项值,则需要在更改时选中所有复选框

这对于一个组很好,但是当有多行并且从一行中选择了选项值时,onChange将触发,以从所有行而不是特定行中选择所有复选框

我设置了一个提琴来澄清我的意思——我非常确定我需要以某种方式获得一个行计数器,并在onChange中传递该计数器编号,这样它就不会选中所有复选框,而只会选择要更改的下拉列表所在的行

如果我在eventRegistrations[1]中硬编码1,则第一个下拉列表更改为Attended(有人出席)时可以正常工作。 我认为需要一个计数器以某种方式获取每一行,循环或执行一个each,并根据选择的下拉列表传递咨询编号,即eventRegistrations[I]根据选择的内容

$("select[name^='eventRegistrations[1]']").change(function () {
if ($(this).val() === '2') {
    $("input[name^='eventRegistrations[1]']").prop('checked', true);

    /*
    var regCount = $(":input[name^='eventRegistrations[i]']").length
    for (i = 1; i <= regCount; i++) {
        $("input[name^='eventRegistrations[i]']").prop('checked', true);
    }*/ 
}
});

谢谢你的帮助

您可以将更改功能绑定到所有选择。然后,您可以检查使用了哪一个,并获得与复选框开头相同的起始字符串。就这样,

$select.changefunction{ 如果$this.val=='2'{ var start=$this.attrname.split[0]; $input[name^='+start+.markAttention'].prop'checked',true; } };
你需要保留这样的名字吗?名称中的方括号相当大uncommon@k-螺母是的,如果可能的话,我需要以这样的方式将名称保留在标记中!非常感谢。好的,我会给你一个解决方案,很好@k-nut如果选择了所有日期,我怎么能做相反的事情,将下拉列表值更改为Attended?您可以在输入上绑定一个change watch,然后循环所有选择,从相同的字符串开始,类似于另一种方式,然后通过名称获得相应的下拉列表,并更改其名称value@Jibes:如果答案符合您的需要,您能将其标记为正确吗?再次感谢您的帮助!我在上面更新了你的提琴,当所有的选择都被选中时,我可以让下拉菜单改变,但是我遗漏了一些东西来保持它对每一行的独占性——如果你有一分钟的时间来看看,那将是很棒的!
$("select[name^='eventRegistrations[1]']").change(function () {
if ($(this).val() === '2') {
    $("input[name^='eventRegistrations[1]']").prop('checked', true);

    /*
    var regCount = $(":input[name^='eventRegistrations[i]']").length
    for (i = 1; i <= regCount; i++) {
        $("input[name^='eventRegistrations[i]']").prop('checked', true);
    }*/ 
}
});