Javascript 如果选中了“子类别”复选框,则应自动选中“父类别”复选框

Javascript 如果选中了“子类别”复选框,则应自动选中“父类别”复选框,javascript,checkbox,Javascript,Checkbox,我有父类别和子类别的嵌套循环, 现在我想,如果我的孩子被选中,那么该孩子类别的所有家长都应该被自动选中。 在我的代码中,只有一个父项被选中,所以我如何才能做到这一点。 如果我取消选中Child,那么Parent应该自动取消选中 那么这是可能的。 提前谢谢。 这是我的密码 产品类别: 类别 黄金 耳环 戒指 女厕所 男洗手间 手镯 功能检查父项(id,ele){ var parent=document.getElementById(id); 如果(ele.checked==true)parent

我有父类别和子类别的嵌套循环, 现在我想,如果我的孩子被选中,那么该孩子类别的所有家长都应该被自动选中。 在我的代码中,只有一个父项被选中,所以我如何才能做到这一点。 如果我取消选中Child,那么Parent应该自动取消选中 那么这是可能的。 提前谢谢。 这是我的密码

产品类别:
类别
黄金
耳环
戒指
女厕所
男洗手间
手镯
功能检查父项(id,ele){
var parent=document.getElementById(id);
如果(ele.checked==true)parent.checked=true;
}

如果我在检查子对象时做对了,您希望检查其父对象,以及其父对象的父对象,依此类推。 如果是,请检查

我删除了内联事件处理程序(onclick),将一个
数据父级
属性关联到每个子级,并使用该属性在以下已审阅的
checkParent
函数中进入树:

function checkParent(ele) {
  var idparent = ele.getAttribute('data-parent');
  if(idparent){
    var parent = document.getElementById(idparent);
    if (ele.checked === true) parent.checked = true;
    checkParent(parent);
  }
}

另外,我不明白您到底希望child uncheck事件如何工作,您可以尝试使用JSFIDLE来获得它,或者更清楚地指出它以获得进一步的帮助。

如果我在检查一个孩子时做对了,您希望检查它的父对象,以及它的父对象,等等。 如果是,请检查

我删除了内联事件处理程序(onclick),将一个
数据父级
属性关联到每个子级,并使用该属性在以下已审阅的
checkParent
函数中进入树:

function checkParent(ele) {
  var idparent = ele.getAttribute('data-parent');
  if(idparent){
    var parent = document.getElementById(idparent);
    if (ele.checked === true) parent.checked = true;
    checkParent(parent);
  }
}

另外,我不明白你到底想让child uncheck事件如何工作,你可以尝试使用JSFIDLE来获得它,或者更清楚地指出它以获得进一步的帮助。

非常感谢,这对所有家长来说都是有效的。但是如果你帮我解决问题,如果我取消child的复选框,那么家长也应该取消选中。@AditiPatel检查这个。我刚刚更新了检查家长。请注意,如果您取消选中一个子项,它将取消选中所有相关的父项,直到根。。即使其他孩子还在检查,也应该是。。。如果选中了另一个子项,则相关父项也会被选中,但如果父项未选中,则其所有未选中的子项都会发生很大变化,这对所有父项都很有用。但是如果您帮助我,如果我取消选中子项的复选框,则父项也应被取消选中。@AditiPatel检查此项。我刚刚更新了检查家长。请注意,如果您取消选中一个子项,它将取消选中所有相关的父项,直到根。。即使其他孩子还在检查,也应该是。。。如果选中了另一个子项,则相关父项也将被选中,但如果未选中父项,则其所有子项也将被选中