Jquery 如果有,则取消选中“分组TD”;“儿童”;TD未经检查
如上图所示,如果用户取消选中复选框#2,我也会尝试让它取消选中复选框#1。目前,当我取消选中复选框#2时,我的代码将同时取消选中#1和#3 HTML代码(经过净化和简化) 试一试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() {
$(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);
}
});
});