Javascript Jquery检查父项复选框
检查下面的代码。这里的Javascript Jquery检查父项复选框,javascript,jquery,Javascript,Jquery,检查下面的代码。这里的AAA和BBB是根父菜单。我已经做的是,当我单击AAA时,它会选中所有子复选框,当我单击AAA1时,它会选中所有子复选框。但问题是,当选中一个子复选框时,它的主根父菜单也应该被选中,而这不起作用。检查Jquery部分。我已经像$(this).parent().parent().parent().parent().find('.parent_checkbox').prop(“选中”,this.checked)一样尝试过了但这不会选择其根父级。我怎样才能修好它 Jquery:
AAA
和BBB
是根父菜单。我已经做的是,当我单击AAA
时,它会选中所有子复选框,当我单击AAA1
时,它会选中所有子复选框。但问题是,当选中一个子复选框时,它的主根父菜单也应该被选中,而这不起作用。检查Jquery部分。我已经像$(this).parent().parent().parent().parent().find('.parent_checkbox').prop(“选中”,this.checked)一样尝试过了代码>但这不会选择其根父级。我怎样才能修好它
Jquery:
$("body").on("change", ".parent_checkbox", function () {
$(this).parent().parent().parent().parent().find('.child1_checkbox').prop("checked", this.checked);
$(this).parent().parent().parent().parent().find('.child2_checkbox').prop("checked", this.checked);
});
$("body").on("change", ".child1_checkbox", function () {
$(this).parent().parent().parent().parent().find('.child2_checkbox').prop("checked", this.checked);
});
$("body").on("change", ".child2_checkbox", function () {
console.log(this);
$(this).parent().parent().parent().parent().find('.parent_checkbox').prop("checked", this.checked);
});
Html:
我建议你看看parents()和closest()。使用closest(),可以搜索触发已知事件的元素的最近父元素,并使用该父元素查找另一项:
$('body').on('change', 'input', function() {
$(this).closest('.the-parent-that-i-need').find('.another-item').doStuff();
});
正如@Frenchy所描述的那样,我必须搜索外部家长。我像下面那样修正了这个问题:
$(this).closest('.EachCategorySet').find(".parent_checkbox").prop("checked", this.checked);
AAA不是AAA1、BBB1和CCC html的父项,speakingaha@Frenchy是正确的AAA
在另一个分区中。无论如何,如何修复它呢?
$(this).closest('.EachCategorySet').find(".parent_checkbox").prop("checked", this.checked);