Javascript 依赖于数组输入复选框的复选框

Javascript 依赖于数组输入复选框的复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有两个数组复选框,即chk1和chk2。此复选框数据是动态生成的。当我选中chk1UK时,意味着必须选中chk290。如果US表示必须检查60,依此类推。做这项工作有什么建议吗 <input type="checkbox" name="chk1" id="chk1" value="UK"> UK <input type="checkbox" name="chk1" id="chk1" value="US"> US <input type="checkbox" na

我有两个数组复选框,即chk1和chk2。此复选框数据是动态生成的。当我选中chk1UK时,意味着必须选中chk290。如果US表示必须检查60,依此类推。做这项工作有什么建议吗

<input type="checkbox" name="chk1" id="chk1" value="UK"> UK
<input type="checkbox" name="chk1" id="chk1" value="US"> US
<input type="checkbox" name="chk1" id="chk1" value="IN"> IN

<input type="checkbox" name="chk2" id="chk2" value="90"> 90
<input type="checkbox" name="chk2" id="chk2" value="60"> 60
<input type="checkbox" name="chk2" id="chk2" value="10"> 10
英国
美国
在里面
90
60
10

标记Jquery时,可以使用
.eq()
.index()

注意:一定要包括jquery

另一种使用
:eq()
选择器和
.index()


你可以像下面这样做。希望这对你有帮助

$(“输入[type=checkbox][name=chk1]”)。更改(函数(){
var status=已选中此项;
$(“输入[type=checkbox][name=chk2]”).eq($(this.index()).prop('checked',status);
});

英国
美国
在里面
90
60
10
纯JavaScript

<input onclick='handleClick(this);' type="checkbox" name="chk1" id="chk1" value="UK"> UK
<input onclick='handleClick(this);' type="checkbox" name="chk2" id="chk2" value="US"> US
<input onclick='handleClick(this);' type="checkbox" name="chk3" id="chk3" value="IN"> IN

<input type="checkbox" name="chk4" id="chk4" value="90"> 90
<input type="checkbox" name="chk5" id="chk5" value="60"> 60
<input type="checkbox" name="chk6" id="chk6" value="10"> 10
<script>
  function handleClick(cb) {

    switch (cb.name) {
      case "chk1":
        document.getElementById("chk4").checked = cb.checked;
        break;
      case "chk2":
        document.getElementById("chk5").checked = cb.checked;
        break;
      case "chk3":
        document.getElementById("chk6").checked = cb.checked;
        break;
    }
  }

</script>
英国
美国
在里面
90
60
10
函数handleClick(cb){
开关(cb.name){
案例“chk1”:
document.getElementById(“chk4”).checked=cb.checked;
打破
案例“chk2”:
document.getElementById(“chk5”).checked=cb.checked;
打破
案例“chk3”:
document.getElementById(“chk6”).checked=cb.checked;
打破
}
}

我自己的此任务解决方案

$(文档)。在('click','input[name=chk1]',函数()上{
$(“输入[name=chk1]”)。每个(函数(i){
如果($(this).is(“:checked”))
$('input[name=chk2]:eq('+i+')).prop('checked',true);
其他的
$('input[name=chk2]:eq('+i+')).prop('checked',false);
});
});

英国
美国
在里面

90 60
10
id
对于每个元素都应该是唯一的。
 $('input[name=chk2]:eq('+$(this).index()+')')
<input onclick='handleClick(this);' type="checkbox" name="chk1" id="chk1" value="UK"> UK
<input onclick='handleClick(this);' type="checkbox" name="chk2" id="chk2" value="US"> US
<input onclick='handleClick(this);' type="checkbox" name="chk3" id="chk3" value="IN"> IN

<input type="checkbox" name="chk4" id="chk4" value="90"> 90
<input type="checkbox" name="chk5" id="chk5" value="60"> 60
<input type="checkbox" name="chk6" id="chk6" value="10"> 10
<script>
  function handleClick(cb) {

    switch (cb.name) {
      case "chk1":
        document.getElementById("chk4").checked = cb.checked;
        break;
      case "chk2":
        document.getElementById("chk5").checked = cb.checked;
        break;
      case "chk3":
        document.getElementById("chk6").checked = cb.checked;
        break;
    }
  }

</script>