Jquery 如果有,则取消选中“分组TD”;“儿童”;TD未经检查

Jquery 如果有,则取消选中“分组TD”;“儿童”;TD未经检查,jquery,html,Jquery,Html,如上图所示,如果用户取消选中复选框#2,我也会尝试让它取消选中复选框#1。目前,当我取消选中复选框#2时,我的代码将同时取消选中#1和#3 HTML代码(经过净化和简化) 试一试 $(this).prevAll().find('.check').prop('checked', false); 这应该适合您: $(function() { $('.pay input[type="checkbox"]').on('change', function() {

如上图所示,如果用户取消选中复选框#2,我也会尝试让它取消选中复选框#1。目前,当我取消选中复选框#2时,我的代码将同时取消选中#1和#3

HTML代码(经过净化和简化)

试一试

$(this).prevAll().find('.check').prop('checked', false);

这应该适合您:

$(function() {
    $('.pay input[type="checkbox"]').on('change', function() {        
        if (!$(this).prop('checked')) {
            $(this).parent().parent().prevAll('tr').not('.group-item').first().find('.check').prop('checked', false);
        }
    });
});

由于
$('.pay input[type=“checkbox”]')
不是
$('.check')
的子元素,您需要使用
parent().parent()
与其他
tr
元素达到相同的级别,
prevAll('tr')。而不是('.group item')
来获得所有以前的分组
tr
元素,获取使用
first()
找到的第一个输入,然后您必须最终使用
$('.check')
找到您要查找的输入

谢谢,Libertine,但这不会取消选中带有一类支票的最近复选框(或任何带有一类支票的复选框)。谢谢,Sbonkosky,我明白你想做什么,但我仍然没有得到最近的复选框(或任何其他复选框)。选中复选框可在“孩子”时取消选中复选框未选中。@dentalhero我用我认为现在应该有效的东西编辑了我的答案。我忽略了
.check
元素在
trtd
中。谢谢!这现在起作用了,我接受了你的答案。非常感谢!
$(this).prevAll().find('.check').prop('checked', false);
$(function() {
    $('.pay input[type="checkbox"]').on('change', function() {        
        if (!$(this).prop('checked')) {
            $(this).parent().parent().prevAll('tr').not('.group-item').first().find('.check').prop('checked', false);
        }
    });
});