Javascript 如何取消选中jquery中最近的标题复选框-具有相同类的多行中的多标题

Javascript 如何取消选中jquery中最近的标题复选框-具有相同类的多行中的多标题,javascript,jquery,html,asp.net,Javascript,Jquery,Html,Asp.net,如何在jquery中取消选中最近的标题复选框。不同行中有多个标题,取消选中所有子复选框时,需要取消选中标题中的复选框 标题复选框在类“jq\u id theaderedit”中,子复选框在类“jq\u border\u label”中 1-在子复选框更改事件中,如何检查“jq_border_label”类中的所有子复选框是否未选中 2-如果所有子复选框都已取消选中,则取消选中最近类“jq_id theaderedit”中的标题 这就是桌子的样子 <tbody>

如何在jquery中取消选中最近的标题复选框。不同行中有多个标题,取消选中所有子复选框时,需要取消选中标题中的复选框

标题复选框在类“jq\u id theaderedit”中,子复选框在类“jq\u border\u label”中

1-在子复选框更改事件中,如何检查“jq_border_label”类中的所有子复选框是否未选中

2-如果所有子复选框都已取消选中,则取消选中最近类“jq_id theaderedit”中的标题

这就是桌子的样子

        <tbody>

        <tr class="jq_idtHeaderRow"></tr>
        <tr class="jq_idtListRow"></tr>
        <tr class="jq_idtHeaderRow"></tr>
        <tr class="jq_idtListRow">
            <td class="jq_idtContentEdit" valign="top" colspan="6">
                <table>
                    <tbody>
                        <tr>
                            <td class="jq_idtContentEdit"></td>
                            <td class="jq_idtContentEdit"></td>
                            <td class="jq_idtContentEdit"></td>
                        </tr>
我准备了以下示例演示,下面是js fiddle链接:

我想你可以用这个作为解决问题的参考,因为你没有提供小提琴来解决你的问题

Fiddle显示,即使只选中了一个复选框,标题复选框也是复选框,如果没有选中任何子复选框,则标题复选框是取消选中的

如果您只想在选中所有子复选框时选中复选框,那么下面是您可以使用的代码

$('.chkChildHeader').on('change', function () {
        var length = $('.jq_border_label > input[type="checkbox"]').length;
        var checkedNum = $('.jq_border_label > input[type="checkbox"]:checked').length;

        if (length === checkedNum) {
            $(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', true);
        }
        if (!checkedNum) {
            $(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', false);
        }
    });
下面是小提琴链接:

请为此发布一篇文章。您完全可以使用JQuery的选择器来完成这项工作,但我认为,如果您在标题中添加一个唯一的id元素,并将行与每个标题相关联,那么维护起来就会容易得多。这将保持逻辑完整,即使表结构有所变化。
var jqo = $(this);
if ($(jqo).closest('.jq_border_label').find('input[type=checkbox]').prop('checked').length > 0) {
        alert('at least one ticked');
    }
$('.chkChildHeader').on('change', function () {
        var checkedNum = $('.jq_border_label > input[type="checkbox"]:checked').length;
        if (checkedNum > 0) {
            $(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', true);
        } else {
            $(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', false);
        }
    });
$('.chkChildHeader').on('change', function () {
        var length = $('.jq_border_label > input[type="checkbox"]').length;
        var checkedNum = $('.jq_border_label > input[type="checkbox"]:checked').length;

        if (length === checkedNum) {
            $(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', true);
        }
        if (!checkedNum) {
            $(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', false);
        }
    });