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